Index: rongyuan/format/app_module.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/format/app_module.format	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/format/app_module.format	(working copy)
@@ -38,9 +38,9 @@
 
 	4 mem_last_transmite_clock
 	
-	692 mem_module_uuid_list
+	700 mem_module_uuid_list
 	0 mem_module_uuid_list_end
-	700 mem_module_le_att_list
+	880 mem_module_le_att_list
 	0 mem_module_le_att_list_end
 	0 mem_module_nv_data
 	0 mem_module_nv_data0
@@ -59,24 +59,13 @@
 	1 mem_suspend_flag
 
 //24g profile
-8 mem_24g_enter_hibernate
 1 mem_24g_txfail_cnt
 
 
 
-32 mem_24g_txbuf_new
-4 mem_24g_enter_hibernate_setup
-4 mem_24g_enter_hibernate_max
-
 
 // patch allocated
-1 mem_24g_rxdata_length
-1 mem_24g_pid
-1 mem_24g_datalen
-
-1 mem_24g_txlen
 2 mem_24g_rx_window
-1 mem_24g_ensure
 
 1 mem_24g_retry
 1 mem_24g_ch
@@ -98,12 +87,7 @@
 1 mem_power_ctrl_pac_succ_cnt
 1 mem_power_ctrl_level
 
-1 mem_rssi_avg_received
-1 mem_rssi_hex_received
-8 mem_rssi_signal_buf
-8 mem_rssi_noise_buf
-1 mem_rssi_noise_index
-1 mem_rssi_signal_index
+
 
 
 34 mem_24g_ackbuffer
@@ -115,42 +99,17 @@
 1 mem_en_24g_flag
 1 mem_test_ch
 2 mem_module_bt_ptr
-1 mem_24g_send_flag
-
-0 mem_tx_fifo0_new
-1 mem_tx_fifo0_map_new
-2 mem_tx_fifo0_ptr_new
-0 mem_tx_fifo1_new
-1 mem_tx_fifo1_map_new
-2 mem_tx_fifo1_ptr_new
-0 mem_tx_fifo2_new
-1 mem_tx_fifo2_map_new
-2 mem_tx_fifo2_ptr_new
-0 mem_tx_fifo3_new
-1 mem_tx_fifo3_map_new
-2 mem_tx_fifo3_ptr_new
-0 mem_tx_fifo4_new
-1 mem_tx_fifo4_map_new
-2 mem_tx_fifo4_ptr_new
-0 mem_tx_fifo5_new
-1 mem_tx_fifo5_map_new
-2 mem_tx_fifo5_ptr_new
-0 mem_tx_fifo6_new
-1 mem_tx_fifo6_map_new
-2 mem_tx_fifo6_ptr_new
-0 mem_tx_fifo7_new
-1 mem_tx_fifo7_map_new
-2 mem_tx_fifo7_ptr_new
-0 mem_tx_fifo8_new
-1 mem_tx_fifo8_map_new
-2 mem_tx_fifo8_ptr_new
-0 mem_tx_fifo_end_new
+1 mem_wakeup_gpio
+6 mem_gpio_wakeup_backup
+4 mem_mcu_set_bt_wake_timer
 
 
 )
 (
 45 mark_24g_rx
 46 mark_test_24g
+47 mark_role_switch_receive_fhs
+48 mark_always_page
 38 BT_CMD_START_UNCONN_ADV
 )
 (
@@ -237,10 +196,10 @@
 (//Command
 0x15 HCI_CMD_SET_COD
 0x76 HCI_CMD_ADD_SERVICE_CHARAC_UUID
-
+0x79 HCI_CMD_MCU_SET_BT_WAKE_TIMER
 
 0xA0 HCI_CMD_ADV_DATA_CHANGE
-
+0xA1 HCI_CMD_READ_DATA_SET
 0xb0 HCI_CMD_SEND_HID_DATA
 0xb1 HCI_CMD_CREAT_BT_RECONNECT
 0xb3 HCI_CMD_SET_DB_START
@@ -259,6 +218,7 @@
 0xca HCI_CMD_24G_GET_NOISE
 
 0xf0 HCI_CMD_TEST_MODE
+
 0xfe HCI_CMD_ALL_ROUND
 )
 (
Index: rongyuan/output/bt_code.c
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/output/bt_code.c	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/output/bt_code.c	(working copy)
@@ -1,317 +1,416 @@
 const unsigned char bt_code[] = {
-0x00,0x02,0xaa,0x55,0x36,0x0e,0xc2,0x84,0x00,0x0f,0xc0,0x00,0x81,0x68,0xc0,0x01,
-0x81,0x6e,0xc0,0x42,0x81,0x70,0xc0,0x44,0x81,0x96,0xc0,0x4a,0x01,0x4e,0xc0,0x51,
-0x01,0x9f,0xc0,0x51,0x81,0x59,0xc0,0x54,0x81,0x5c,0xc0,0x56,0x01,0xa6,0xc0,0x5c,
-0x00,0x30,0xc0,0x5d,0x80,0x77,0xc0,0x5e,0x00,0xf3,0xc0,0x5f,0x03,0x6e,0x20,0x20,
-0x4a,0x8b,0xc0,0x01,0x82,0xc3,0xc0,0x02,0x82,0xba,0xc0,0x03,0x01,0x91,0xc0,0x09,
-0x82,0xe6,0xc0,0x0f,0x82,0xcf,0xc0,0x10,0x82,0xe1,0xc0,0x18,0x00,0x2a,0xc0,0x1e,
-0x01,0x0b,0xc0,0x1d,0x01,0x15,0xc0,0x1e,0x81,0x25,0xc0,0x1f,0x01,0x32,0xc0,0x20,
-0x81,0x44,0xc0,0x4c,0x81,0x4a,0xc0,0x51,0x00,0x1e,0x20,0x20,0x4a,0x8b,0x18,0x42,
-0x7e,0x00,0x20,0x7a,0x00,0x00,0xc0,0x13,0x00,0x22,0x20,0x20,0x7b,0xd4,0x70,0x43,
-0x40,0x01,0x70,0x44,0x56,0x02,0x6f,0xe4,0x46,0x52,0x79,0x20,0x7e,0x0b,0x67,0xe4,
-0x46,0x52,0x20,0x60,0x00,0x00,0x70,0x0a,0x95,0x26,0x20,0x20,0x7b,0xb4,0x20,0x40,
-0x5b,0x86,0x20,0x20,0x00,0x2c,0xda,0x60,0x43,0x81,0xda,0x20,0x43,0x62,0x20,0x40,
-0x5b,0xa5,0x20,0x60,0x00,0x00,0x58,0x00,0x00,0x3f,0x67,0xe4,0x41,0xf6,0x58,0x00,
-0x00,0x5f,0x67,0xe4,0x41,0xfe,0x58,0x00,0x00,0x63,0x67,0xe4,0x41,0xfa,0x58,0x00,
-0x00,0x74,0x67,0xe4,0x41,0xea,0x58,0x00,0x00,0x75,0x67,0xe4,0x41,0xf2,0x20,0x40,
-0x02,0xb4,0x20,0x40,0x4d,0xaf,0x20,0x40,0x4d,0xbc,0x20,0x40,0x4c,0x2a,0x20,0x20,
-0x50,0x4d,0x1a,0x62,0x7e,0x00,0xc0,0x00,0x83,0x06,0xc0,0x01,0x03,0x09,0xc0,0x02,
-0x03,0x17,0xc0,0x02,0x83,0x1f,0xc0,0x03,0x03,0x20,0xc0,0x03,0x83,0x23,0xc0,0x09,
-0x03,0x2c,0xc0,0x09,0x83,0x36,0xc0,0x13,0x83,0x37,0xc0,0x17,0x03,0x3a,0xc0,0x1e,
-0x83,0x3b,0xc0,0x0c,0x03,0x3c,0xc0,0x14,0x82,0xfb,0xc0,0x05,0x80,0x4f,0x20,0x20,
-0x4d,0xdf,0x20,0x40,0x4d,0xd7,0x6f,0xe4,0x40,0x42,0x1f,0xe3,0x7e,0x00,0x68,0x44,
-0x41,0xe4,0x98,0x46,0x7c,0x00,0x20,0x20,0x4d,0x91,0x6f,0xe2,0x46,0x79,0xc3,0x82,
-0x80,0x00,0x6f,0xe4,0x4f,0xfc,0x68,0x44,0x4f,0xfe,0x98,0x46,0x7c,0x00,0x24,0x42,
-0xd0,0xda,0x20,0x20,0x4d,0x87,0x20,0x60,0x00,0x00,0x20,0x40,0x4d,0x6b,0x20,0x20,
-0x4d,0x73,0x20,0x40,0x03,0x48,0x20,0x40,0x03,0x50,0x20,0x40,0x03,0x53,0x20,0x60,
-0x00,0x00,0x20,0x40,0x4f,0x11,0x20,0x74,0x00,0x00,0x1a,0x22,0x7e,0x00,0x67,0xe4,
-0x46,0x71,0x1a,0x42,0x7e,0x00,0x67,0xe2,0x46,0x70,0x68,0x44,0x04,0x74,0x60,0x44,
-0x46,0x73,0x20,0x40,0x5b,0x6c,0x24,0x3a,0x4a,0x8b,0x6f,0xe2,0x04,0x9e,0x20,0x20,
-0x50,0x42,0xe8,0x42,0x00,0x11,0x58,0x00,0x00,0x01,0x67,0xe2,0x0a,0x96,0xe0,0x42,
-0x00,0x05,0x20,0x20,0x03,0x7e,0x20,0x20,0x4d,0xbd,0x20,0x20,0x00,0x76,0x20,0x20,
-0x4d,0xc8,0x6f,0xe2,0x0a,0xff,0xc0,0x08,0x80,0xd8,0xc0,0x0a,0x80,0xe0,0xc0,0x13,
-0x80,0xee,0xc0,0x06,0x00,0xe5,0xc0,0x58,0x00,0xf0,0xc0,0x58,0x83,0x63,0xc0,0x50,
-0x00,0xba,0xc0,0x01,0x00,0xa0,0xc0,0x3b,0x00,0x8c,0xc0,0x64,0x81,0xb2,0xc0,0x60,
-0x01,0xa7,0xc0,0x60,0x81,0xac,0xc0,0x61,0x01,0xaf,0xc0,0x61,0x81,0xb8,0xc0,0x62,
-0x01,0xbd,0xc0,0x62,0x81,0xc0,0xc0,0x64,0x01,0xd2,0xc0,0x63,0x01,0xd8,0xc0,0x63,
-0x81,0xde,0x20,0x20,0x4e,0x5c,0x20,0x40,0x00,0x95,0x18,0xc0,0x8d,0xfe,0x18,0xc2,
-0x0a,0x00,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,0x72,0x00,0x20,0x40,0x67,0xed,0x58,0x00,
-0x00,0x00,0xe7,0xe4,0x00,0x05,0x20,0x20,0x50,0x1f,0x6f,0xe4,0x44,0x8e,0x98,0x00,
-0x0c,0x00,0xef,0xe4,0x00,0x06,0x20,0x7a,0x00,0x00,0x1f,0xe0,0x84,0x01,0xef,0xe2,
-0x00,0x06,0x98,0xc0,0x8c,0x00,0xef,0xe2,0x00,0x06,0x98,0xc0,0x8c,0x00,0x18,0xc2,
-0x0a,0x00,0x20,0x20,0x00,0x97,0x6f,0xe2,0x0b,0x00,0xc0,0x80,0xd0,0x1c,0x1a,0x22,
-0x06,0x00,0x20,0x40,0x50,0x1f,0xe8,0x42,0x00,0x03,0x60,0x42,0x46,0x6f,0x6f,0xe4,
-0x46,0x52,0xc3,0x84,0x80,0x00,0xc3,0x80,0x00,0x00,0x6f,0xe2,0x46,0x6c,0x2f,0xef,
-0xfe,0x00,0x24,0x20,0x80,0xaf,0x68,0x42,0x46,0x6f,0x18,0x41,0x7e,0x03,0x67,0xe2,
-0x40,0x93,0x6f,0xe2,0x46,0x6c,0x2f,0xef,0xfe,0x01,0x24,0x60,0x80,0x00,0x68,0x42,
-0x46,0x6f,0x28,0x4f,0xfe,0x02,0x20,0x20,0x80,0xb6,0x20,0x20,0x4d,0x73,0x6f,0xe2,
-0x44,0x56,0xc0,0x00,0x4d,0x75,0xc0,0x00,0xcd,0x6f,0xc0,0x01,0x00,0x28,0xef,0xe2,
-0x00,0x03,0x2f,0xef,0xfe,0x00,0x20,0x20,0x80,0xc2,0x2f,0xef,0xfe,0x01,0x20,0x20,
-0x80,0xc6,0x2f,0xef,0xfe,0x02,0x20,0x20,0x80,0xcf,0x20,0x20,0x50,0x1c,0x70,0x44,
+0x00,0x02,0xaa,0x55,0xc2,0x14,0xc2,0x84,0x00,0x15,0xc0,0x00,0x82,0x3d,0xc0,0x01,
+0x82,0x43,0xc0,0x03,0x80,0x60,0xc0,0x09,0x80,0x63,0xc0,0x0b,0x80,0x66,0xc0,0x13,
+0x00,0x6e,0xc0,0x1a,0x00,0x93,0xc0,0x22,0x80,0x52,0xc0,0x42,0x82,0x4d,0xc0,0x44,
+0x82,0x73,0xc0,0x4a,0x02,0x23,0xc0,0x51,0x02,0xa8,0xc0,0x51,0x82,0x2e,0xc0,0x54,
+0x82,0x31,0xc0,0x56,0x02,0xb1,0xc0,0x5c,0x00,0xa9,0xc0,0x5d,0x81,0x17,0xc0,0x5e,
+0x01,0xc7,0xc0,0x5f,0x05,0x0f,0x20,0x20,0x4a,0x8b,0xc0,0x01,0x84,0x29,0xc0,0x02,
+0x84,0x20,0xc0,0x03,0x02,0x6e,0xc0,0x09,0x84,0x72,0xc0,0x0f,0x84,0x35,0xc0,0x11,
+0x04,0x47,0xc0,0x18,0x00,0xa3,0xc0,0x1e,0x01,0xdf,0xc0,0x1d,0x01,0xe9,0xc0,0x1e,
+0x81,0xf9,0xc0,0x1f,0x02,0x07,0xc0,0x20,0x82,0x19,0xc0,0x24,0x80,0x25,0xc0,0x4c,
+0x82,0x1f,0xc0,0x51,0x00,0x97,0x20,0x20,0x4a,0x8b,0x19,0x42,0x7e,0x00,0x67,0xe4,
+0x4f,0xf6,0x70,0x40,0x91,0x00,0x20,0x40,0x00,0x38,0x6f,0xe2,0x80,0x43,0xc3,0x83,
+0x80,0x00,0x79,0x20,0x7e,0x07,0x67,0xe2,0x80,0x43,0x20,0x60,0x00,0x00,0x6f,0xec,
+0x4d,0x1d,0x67,0xec,0x00,0xa1,0x1c,0xe2,0x7e,0x00,0x20,0x3a,0x00,0x3c,0x20,0x40,
+0x00,0x34,0x20,0x20,0x40,0x02,0x20,0x40,0x7d,0x79,0x70,0x40,0x91,0x00,0x20,0x40,
+0x00,0x38,0x20,0x20,0x67,0xbc,0x6f,0xe2,0x89,0x73,0x79,0x20,0x7e,0x06,0x67,0xe2,
+0x89,0x73,0x20,0x60,0x00,0x00,0x6f,0xe2,0x81,0x26,0xc2,0x80,0x00,0x43,0x6f,0xec,
+0x00,0xa1,0x68,0x4c,0x81,0x0e,0x98,0x41,0x7e,0x00,0x24,0x5a,0x00,0x34,0x20,0x20,
+0x40,0x02,0x20,0x40,0x00,0x45,0x20,0x20,0x40,0x02,0x58,0xff,0xff,0xff,0x68,0x46,
+0x81,0x0e,0x98,0x42,0xfe,0x00,0x68,0x46,0x00,0xa1,0x98,0x41,0x7e,0x00,0x24,0x3a,
+0x00,0x34,0x58,0xff,0xff,0xff,0x68,0x46,0x81,0x11,0x98,0x42,0xfe,0x00,0x68,0x46,
+0x00,0xa4,0x98,0x41,0x7e,0x00,0x24,0x3a,0x00,0x34,0x20,0x60,0x00,0x00,0x20,0x40,
+0x60,0xe5,0x20,0x40,0x44,0x55,0x67,0xe2,0x00,0x46,0x58,0x00,0x00,0x00,0x67,0xe4,
+0x02,0x59,0x58,0x00,0x0e,0x40,0x67,0xe4,0x00,0x51,0x6f,0xe2,0x00,0x30,0x79,0x20,
+0x7e,0x00,0x67,0xe2,0x00,0x30,0x70,0x00,0x4b,0x00,0x70,0x00,0x4c,0x00,0x70,0x00,
+0xa0,0x00,0x20,0x20,0x4a,0x87,0x20,0x40,0x40,0x59,0x70,0x00,0x8e,0x07,0x20,0x60,
+0x00,0x00,0x58,0x00,0x00,0x00,0x67,0xe8,0x00,0xf0,0x20,0x20,0x40,0xed,0x2c,0x20,
+0x06,0x03,0x24,0x60,0x80,0x00,0x6f,0xe2,0x00,0x8e,0x1f,0xe0,0xff,0xff,0x67,0xe2,
+0x00,0x8e,0x20,0x61,0x00,0x00,0x70,0x00,0x8e,0x07,0x20,0x20,0x41,0x1c,0x20,0x40,
+0x41,0xc5,0x24,0x74,0x00,0x00,0x78,0x54,0x7c,0x00,0x70,0x00,0x11,0x20,0x79,0x3f,
+0x80,0x0b,0x79,0x3f,0x80,0x2f,0x20,0x40,0x4a,0x4e,0x20,0x40,0x42,0xe2,0xc5,0x05,
+0x80,0x7b,0x20,0x40,0x44,0x51,0x24,0x3a,0x00,0x74,0xc5,0x17,0x80,0x84,0x20,0x20,
+0x41,0xe8,0x20,0x40,0x4a,0x4c,0xd8,0x20,0x00,0x10,0x20,0x40,0x42,0xd8,0x79,0x20,
+0x00,0x2f,0x79,0x3f,0x80,0x0b,0x6f,0xe2,0x00,0x77,0x98,0x00,0x08,0x00,0x70,0x00,
+0x11,0x02,0x20,0x20,0x00,0x74,0x6f,0xe8,0x01,0x63,0x1f,0xe0,0xfe,0x08,0x67,0xe8,
+0x01,0x63,0x20,0x20,0x41,0xf4,0x6f,0xe2,0x00,0x30,0x79,0x3f,0xfe,0x03,0x67,0xe2,
+0x00,0x30,0x20,0x40,0x41,0x10,0x70,0x46,0x51,0x00,0x20,0x20,0x43,0xc5,0xda,0x60,
+0x00,0x90,0x20,0x20,0x42,0x39,0xc2,0x80,0x42,0x62,0x18,0x00,0x7c,0x00,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x00,0x4c,0x79,0x3f,0xfe,0x02,0x67,0xe2,0x00,0x4c,0x20,0x20,
+0x43,0x2f,0x18,0x42,0x7e,0x00,0x20,0x7a,0x00,0x00,0xc0,0x13,0x00,0x9b,0x20,0x20,
+0x7b,0xd4,0x70,0x43,0x40,0x01,0x70,0x44,0x56,0x02,0x6f,0xe4,0x46,0x52,0x79,0x20,
+0x7e,0x0b,0x67,0xe4,0x46,0x52,0x20,0x60,0x00,0x00,0x70,0x0a,0x95,0x26,0x20,0x20,
+0x7b,0xb4,0x20,0x40,0x5b,0x86,0x20,0x20,0x00,0xa5,0xda,0x60,0x43,0x81,0xda,0x20,
+0x43,0x62,0x20,0x40,0x5b,0xa5,0x20,0x60,0x00,0x00,0x58,0x00,0x00,0xd0,0x67,0xe4,
+0x41,0xf6,0x58,0x00,0x00,0xf1,0x67,0xe4,0x41,0xfe,0x58,0x00,0x00,0xba,0x67,0xe4,
+0x41,0xf4,0x58,0x00,0x00,0xfc,0x67,0xe4,0x41,0xfa,0x58,0x00,0x01,0x0b,0x67,0xe4,
+0x41,0xea,0x58,0x00,0x01,0x15,0x67,0xe4,0x41,0xf2,0x20,0x40,0x04,0x1a,0x20,0x40,
+0x4d,0xaf,0x20,0x40,0x4d,0xbc,0x20,0x40,0x4c,0x2a,0x20,0x20,0x50,0x4d,0x20,0x40,
+0x50,0xd3,0x20,0x40,0x56,0x48,0x24,0x7a,0x00,0x00,0x6f,0xe4,0x4f,0xfc,0x68,0x44,
+0x4f,0xfe,0x98,0x46,0x7c,0x00,0x20,0x62,0x80,0x00,0x20,0x40,0x67,0xf7,0xef,0xe2,
+0x00,0x03,0xc0,0x80,0x80,0xce,0xef,0xe2,0x00,0x03,0x67,0xe2,0x0a,0xff,0xe8,0x42,
+0x00,0x03,0x18,0x62,0x22,0x00,0x60,0x42,0x0b,0x00,0x70,0x0b,0x01,0x01,0x20,0x40,
+0x4e,0x5a,0x6f,0xe2,0x0b,0x01,0xc1,0x00,0x00,0x00,0x20,0x20,0x4e,0x55,0x20,0x40,
+0x50,0x7e,0x20,0x20,0x4e,0x51,0x1a,0x62,0x7e,0x00,0xc0,0x00,0x84,0x94,0xc0,0x01,
+0x04,0x97,0xc0,0x02,0x04,0xa5,0xc0,0x02,0x84,0xae,0xc0,0x03,0x04,0xaf,0xc0,0x03,
+0x84,0xb2,0xc0,0x09,0x04,0xb9,0xc0,0x09,0x84,0xc3,0xc0,0x13,0x84,0xc4,0xc0,0x17,
+0x04,0xc7,0xc0,0x1e,0x84,0xc8,0xc0,0x0c,0x04,0xc9,0xc0,0x14,0x84,0x87,0xc0,0x05,
+0x80,0xe0,0x20,0x20,0x4d,0xdf,0x20,0x60,0x00,0x00,0x20,0x40,0x4d,0xd7,0x6f,0xe4,
+0x40,0x42,0x1f,0xe3,0x7e,0x00,0x68,0x44,0x41,0xe4,0x98,0x46,0x7c,0x00,0x20,0x20,
+0x4d,0x91,0x6f,0xe2,0x46,0x79,0xc3,0x82,0x80,0x00,0x6f,0xe4,0x4f,0xfc,0x68,0x44,
+0x4f,0xfe,0x98,0x46,0x7c,0x00,0x24,0x42,0xd0,0xda,0x20,0x20,0x4d,0x87,0x20,0x60,
+0x00,0x00,0x20,0x40,0x4d,0x6b,0x20,0x20,0x4d,0x73,0x20,0x40,0x00,0xf6,0x20,0x40,
+0x04,0xd8,0x20,0x40,0x04,0xe0,0x20,0x40,0x04,0xe3,0x20,0x60,0x00,0x00,0x6f,0xe8,
+0x4d,0x23,0x20,0x7a,0x00,0x00,0x1f,0xe0,0xff,0xff,0x67,0xe8,0x4d,0x23,0x24,0x7a,
+0x00,0x00,0x20,0x20,0x00,0x34,0x20,0x40,0x4f,0x11,0x20,0x74,0x00,0x00,0x1a,0x22,
+0x7e,0x00,0x67,0xe4,0x46,0x71,0x1a,0x42,0x7e,0x00,0x67,0xe2,0x46,0x70,0x68,0x44,
+0x04,0x74,0x60,0x44,0x46,0x73,0x6f,0xe2,0x04,0x9e,0x20,0x20,0x50,0x42,0xe8,0x42,
+0x00,0x11,0x58,0x00,0x00,0x01,0x67,0xe2,0x0a,0x96,0xe0,0x42,0x00,0x05,0x20,0x20,
+0x05,0x1b,0x6f,0xe2,0x4f,0xef,0xc0,0x00,0x81,0x12,0x6f,0xe2,0x44,0x96,0xc0,0x80,
+0x01,0x10,0x20,0x20,0x4d,0x4d,0xc0,0x7f,0xcd,0x4d,0x20,0x20,0x01,0x12,0x20,0x40,
+0x00,0x38,0x20,0x40,0x67,0xbc,0x20,0x20,0x4d,0x4b,0x20,0x20,0x01,0x16,0x20,0x20,
+0x4d,0xcb,0x6f,0xe2,0x0a,0xff,0xc0,0x08,0x81,0xae,0xc0,0x0a,0x81,0xb6,0xc0,0x13,
+0x81,0x39,0xc0,0x06,0x01,0xbb,0xc0,0x58,0x01,0xc4,0xc0,0x58,0x84,0xf3,0xc0,0x50,
+0x01,0x8e,0xc0,0x01,0x01,0x73,0xc0,0x3b,0x01,0x5f,0xc0,0x1a,0x01,0xac,0xc0,0x64,
+0x82,0xbb,0xc0,0x60,0x02,0xb2,0xc0,0x60,0x82,0xb7,0xc0,0x61,0x02,0xb9,0xc0,0x61,
+0x82,0xc0,0xc0,0x62,0x02,0xc4,0xc0,0x62,0x82,0xc7,0xc0,0x64,0x02,0xd8,0xc0,0x63,
+0x02,0xdd,0xc0,0x63,0x82,0xe4,0xc0,0x78,0x02,0xef,0xc0,0x65,0x02,0xe8,0xc0,0x59,
+0x84,0xff,0xc0,0x5a,0x05,0x0d,0xc0,0x7f,0x81,0x36,0xc0,0x50,0x81,0x4a,0xc0,0x20,
+0x01,0x3a,0xc0,0x7f,0x81,0x36,0xc0,0x3c,0x81,0x47,0x20,0x20,0x4e,0x5c,0xef,0xe2,
+0x00,0x03,0x67,0xe2,0x40,0x91,0x20,0x60,0x00,0x00,0x20,0x20,0x4d,0x85,0xef,0xe2,
+0x00,0x03,0x68,0x48,0x41,0x79,0x79,0x3a,0x04,0x10,0x79,0x3a,0x04,0x18,0x60,0x48,
+0x41,0x79,0x68,0x42,0x41,0x57,0x79,0x3a,0x04,0x00,0x60,0x42,0x41,0x57,0xef,0xec,
+0x00,0x03,0x67,0xec,0x00,0xa1,0x67,0xec,0x4d,0x1d,0x20,0x40,0x4b,0xe3,0x20,0x20,
+0x50,0x1f,0xef,0xe8,0x00,0x03,0x67,0xe8,0x4d,0x23,0x20,0x20,0x50,0x1f,0x78,0x56,
+0x7c,0x00,0xe8,0x42,0x00,0x03,0x20,0x40,0x01,0x57,0x24,0x36,0x50,0x1c,0x18,0xc2,
+0x0a,0x00,0x1a,0x22,0x06,0x00,0x18,0x60,0x86,0x02,0x6f,0xe2,0x0b,0x00,0x1f,0xe0,
+0xff,0xfe,0xe7,0xe2,0x00,0x05,0x1f,0xe2,0x72,0x00,0x20,0x40,0x67,0xed,0x20,0x20,
+0x50,0x1f,0x78,0x56,0x7c,0x00,0x20,0x40,0x5b,0x4d,0x20,0x22,0x81,0x5b,0x20,0x60,
+0x00,0x00,0x78,0x36,0x7c,0x00,0xef,0xe2,0x00,0x06,0x98,0xc0,0x8c,0x00,0x20,0x60,
+0x00,0x00,0x20,0x40,0x01,0x68,0x18,0xc0,0x8d,0xfe,0x18,0xc2,0x0a,0x00,0x6f,0xe2,
+0x0b,0x00,0x1f,0xe2,0x72,0x00,0x20,0x40,0x67,0xed,0x58,0x00,0x00,0x00,0xe7,0xe4,
+0x00,0x05,0x20,0x20,0x50,0x1f,0x6f,0xe4,0x44,0x8e,0x98,0x00,0x0c,0x00,0xef,0xe4,
+0x00,0x06,0x20,0x7a,0x00,0x00,0x1f,0xe0,0x84,0x01,0xef,0xe2,0x00,0x06,0x98,0xc0,
+0x8c,0x00,0xef,0xe2,0x00,0x06,0x98,0xc0,0x8c,0x00,0x18,0xc2,0x0a,0x00,0x20,0x20,
+0x01,0x6a,0x6f,0xe2,0x0b,0x00,0xc0,0x80,0xd0,0x1c,0x1a,0x22,0x06,0x00,0x20,0x40,
+0x50,0x1f,0xe8,0x42,0x00,0x03,0x60,0x42,0x46,0x6f,0x6f,0xe4,0x46,0x52,0xc3,0x84,
+0x80,0x00,0xc3,0x80,0x00,0x00,0x6f,0xe2,0x46,0x6c,0x2f,0xef,0xfe,0x00,0x24,0x20,
+0x81,0x82,0x68,0x42,0x46,0x6f,0x18,0x41,0x7e,0x03,0x67,0xe2,0x40,0x93,0x6f,0xe2,
+0x46,0x6c,0x2f,0xef,0xfe,0x01,0x24,0x60,0x80,0x00,0x68,0x42,0x46,0x6f,0x28,0x4f,
+0xfe,0x02,0x20,0x20,0x81,0x89,0x20,0x20,0x4d,0x73,0x6f,0xe2,0x44,0x56,0xc0,0x00,
+0x4d,0x75,0xc0,0x00,0xcd,0x6f,0xc0,0x01,0x00,0xa1,0x20,0x60,0x00,0x00,0xef,0xe2,
+0x00,0x03,0x2f,0xef,0xfe,0x00,0x20,0x20,0x81,0x96,0x2f,0xef,0xfe,0x01,0x20,0x20,
+0x81,0x9a,0x2f,0xef,0xfe,0x02,0x20,0x20,0x81,0xa3,0x20,0x20,0x50,0x1c,0x70,0x44,
 0x56,0x01,0xef,0xec,0x00,0x03,0x67,0xec,0x41,0xd1,0x20,0x20,0x50,0x1f,0x70,0x44,
 0x56,0x02,0x6f,0xe2,0x0b,0x00,0x1f,0xe0,0xff,0xff,0x1f,0xe2,0x72,0x00,0x18,0x62,
 0x0c,0x00,0x67,0xe2,0x43,0x41,0xd8,0xa0,0x43,0x42,0x20,0x40,0x7c,0xcf,0x20,0x20,
 0x50,0x1f,0x70,0x44,0x56,0x00,0x6f,0xe2,0x0b,0x00,0x1f,0xe0,0xff,0xff,0x1f,0xe2,
 0x72,0x00,0x18,0x62,0x0c,0x00,0x67,0xe2,0x43,0x41,0xd8,0xa0,0x43,0x42,0x20,0x40,
-0x7c,0xcf,0x20,0x20,0x50,0x1f,0x6f,0xe4,0x46,0x52,0xc3,0x00,0x50,0x1c,0x20,0x40,
-0x50,0x1f,0x20,0x40,0x4d,0x64,0x6f,0xe4,0x46,0x52,0xc4,0x01,0x00,0x00,0x70,0x0a,
-0xff,0xb6,0x20,0x20,0x50,0x4e,0x6f,0xe2,0x0b,0x00,0xc0,0x81,0xd0,0x1f,0xef,0xe6,
-0x00,0x03,0x67,0xe6,0x40,0xaa,0x20,0x20,0x50,0x1f,0x1a,0x22,0x06,0x00,0xef,0xe2,
-0x00,0x03,0xc0,0x00,0x4f,0x1c,0xc0,0x00,0xcf,0x1f,0xc0,0x01,0x4f,0x25,0xc0,0x01,
-0x80,0xec,0x20,0x20,0x50,0x1c,0x58,0x00,0x00,0x01,0x20,0x20,0x4f,0x20,0x20,0x40,
-0x50,0x1f,0x20,0x20,0x4d,0x85,0x6f,0xe4,0x46,0x52,0xc2,0x81,0x03,0x56,0x20,0x20,
+0x7c,0xcf,0x20,0x20,0x50,0x1f,0x70,0x44,0x56,0x00,0x20,0x20,0x4f,0xbd,0x6f,0xe4,
+0x46,0x52,0xc3,0x00,0x50,0x1c,0x20,0x40,0x50,0x1f,0x20,0x40,0x4d,0x64,0x6f,0xe4,
+0x46,0x52,0xc4,0x01,0x00,0x00,0x70,0x0a,0xff,0xb6,0x20,0x20,0x50,0x4e,0x6f,0xe2,
+0x0b,0x00,0xc0,0x81,0xd0,0x1f,0xef,0xe6,0x00,0x03,0x67,0xe6,0x40,0xaa,0x20,0x20,
+0x50,0x1f,0x1a,0x22,0x06,0x00,0xef,0xe2,0x00,0x03,0xc0,0x00,0x4f,0x1c,0xc0,0x00,
+0xcf,0x1f,0xc0,0x01,0x4f,0x25,0xc0,0x01,0x81,0xc2,0x20,0x20,0x50,0x1c,0x58,0x00,
+0x00,0x01,0x20,0x20,0x4f,0x20,0x6f,0xe4,0x46,0x52,0xc2,0x81,0x04,0xe6,0x20,0x20,
 0x50,0x1c,0x18,0x40,0xff,0xfd,0xd8,0x40,0x00,0xc8,0x20,0x40,0x7d,0xb5,0x68,0x42,
 0x46,0x7a,0x20,0x40,0x7d,0xb5,0x1f,0xe2,0x22,0x00,0x18,0x42,0x7e,0x00,0x9a,0x26,
 0x7e,0x00,0x67,0xe2,0x46,0x7a,0x68,0x44,0x46,0x7b,0x18,0x40,0x85,0xff,0x20,0x40,
-0x5b,0x4d,0x20,0x3a,0x01,0x07,0xe8,0x48,0x00,0x06,0x59,0x28,0x03,0x02,0x98,0x46,
-0x7c,0x00,0x24,0x22,0x81,0x07,0xef,0xe2,0x00,0x06,0xc2,0x82,0x4f,0x01,0x20,0x20,
-0x01,0x07,0x70,0x46,0x7a,0x00,0x70,0x0b,0x01,0x01,0x20,0x40,0x50,0xe0,0x20,0x20,
-0x50,0x1c,0x6f,0xe2,0x05,0x4e,0x67,0xe2,0x04,0xc5,0xc0,0x19,0x81,0x0f,0x20,0x20,
+0x5b,0x4d,0x20,0x3a,0x01,0xdb,0xe8,0x48,0x00,0x06,0x59,0x28,0x03,0x02,0x98,0x46,
+0x7c,0x00,0x24,0x22,0x81,0xdb,0xef,0xe2,0x00,0x06,0xc2,0x82,0x4f,0x01,0x20,0x20,
+0x01,0xdb,0x70,0x46,0x7a,0x00,0x70,0x0b,0x01,0x01,0x20,0x40,0x50,0xe0,0x20,0x20,
+0x50,0x1c,0x6f,0xe2,0x05,0x4e,0x67,0xe2,0x04,0xc5,0xc0,0x19,0x81,0xe3,0x20,0x20,
 0x61,0x94,0x6f,0xe2,0x04,0xcd,0x79,0x20,0x7e,0x00,0x67,0xe2,0x04,0xcd,0x70,0x0a,
 0x95,0x01,0x20,0x40,0x7b,0xab,0x20,0x20,0x61,0xbf,0x6f,0xe2,0x00,0x7d,0xc0,0x08,
-0x01,0x1c,0xc0,0x0b,0x81,0x22,0x20,0x20,0x60,0xfe,0x70,0x00,0x7d,0x2a,0x70,0x00,
+0x01,0xf0,0xc0,0x0b,0x81,0xf6,0x20,0x20,0x60,0xfe,0x70,0x00,0x7d,0x2a,0x70,0x00,
 0x7c,0x03,0x20,0x60,0x00,0x00,0x68,0x42,0x05,0x4e,0x18,0x46,0x7c,0x06,0x20,0x21,
-0x01,0x20,0x20,0x20,0x62,0x06,0x70,0x00,0x7e,0x24,0x20,0x20,0x61,0x34,0x6f,0xe4,
+0x01,0xf4,0x20,0x20,0x62,0x06,0x70,0x00,0x7e,0x24,0x20,0x20,0x61,0x34,0x6f,0xe4,
 0x05,0x53,0x20,0x3a,0x62,0xd2,0x20,0x20,0x62,0xbc,0x6f,0xe2,0x05,0x4e,0x67,0xe2,
-0x04,0xc5,0xc0,0x05,0x81,0x29,0x20,0x20,0x61,0xa6,0x20,0x40,0x61,0xdf,0x6f,0xe2,
-0x00,0x55,0xc1,0x8c,0x80,0x00,0x70,0x0a,0xff,0xb1,0x58,0x00,0x00,0x01,0x20,0x40,
-0x50,0xa5,0x58,0x00,0x00,0x01,0xe7,0xe2,0x00,0x0a,0x20,0x20,0x67,0xb9,0x78,0x54,
-0x7c,0x00,0x20,0x40,0x66,0xa3,0x6f,0xe2,0x00,0x48,0x20,0x7a,0x00,0x00,0xc2,0x83,
-0x81,0x38,0x20,0x20,0x63,0xf2,0xc0,0x42,0x01,0x3b,0xc0,0x41,0x81,0x3e,0x20,0x20,
-0x64,0x21,0x20,0x40,0x01,0x41,0x6f,0xe2,0x00,0x48,0x20,0x20,0x64,0x7b,0x20,0x40,
-0x01,0x41,0x6f,0xe2,0x00,0x48,0x20,0x20,0x64,0xef,0x6f,0xe2,0x46,0x2c,0x20,0x3a,
-0x65,0x0d,0x20,0x20,0x65,0x06,0x6f,0xe2,0x40,0x9e,0x79,0x3f,0xfe,0x03,0x67,0xe2,
-0x40,0x9e,0x58,0x00,0x00,0x01,0x67,0xe4,0x04,0xca,0x20,0x60,0x00,0x00,0x6f,0xe2,
-0x44,0x90,0x20,0x3a,0x5e,0xd0,0x20,0x40,0x74,0x38,0x20,0x20,0x79,0x32,0x18,0x42,
-0x7e,0x00,0x20,0x40,0x7d,0x2b,0x1c,0x30,0x7e,0x00,0x79,0x20,0x7e,0x2c,0x20,0x40,
-0x7d,0x14,0x79,0x3f,0xfe,0x2c,0x20,0x40,0x4a,0x76,0x20,0x40,0x7d,0x14,0x20,0x74,
-0x00,0x00,0x20,0x40,0x01,0x65,0x20,0x20,0x4a,0x2f,0x1b,0x42,0x7e,0x00,0x20,0x40,
-0x01,0x64,0x20,0x20,0x4a,0xe9,0x6f,0xe4,0x40,0x4e,0x1f,0xe3,0x7e,0x00,0x20,0x40,
-0x7d,0x2b,0x1e,0x02,0x7e,0x00,0x20,0x40,0x7d,0x14,0x1b,0x42,0x04,0x00,0x20,0x40,
-0x01,0x64,0x20,0x20,0x4b,0x67,0x20,0x40,0x7d,0x14,0x98,0x00,0x0c,0x00,0x79,0x3f,
-0x8c,0x10,0x20,0x20,0x7d,0x1f,0x20,0x40,0x68,0xc4,0x20,0x40,0x60,0xd7,0x20,0x40,
-0x01,0x6c,0x20,0x20,0x40,0x0a,0x20,0x75,0x80,0x00,0x20,0x20,0x7b,0x9a,0x20,0x40,
-0x02,0xb2,0x20,0x20,0x40,0x10,0x20,0x30,0x81,0x80,0x70,0x89,0x55,0xd4,0x20,0x00,
-0x00,0x04,0x70,0x89,0x55,0xd2,0x20,0x00,0x00,0x04,0x70,0x89,0x55,0xd1,0x20,0x00,
-0x00,0x04,0x6f,0xe2,0x41,0xdf,0xc0,0x00,0x01,0x7e,0xc0,0x00,0x81,0x8e,0xc0,0x01,
-0x01,0x7e,0xc0,0x01,0x81,0x8e,0xc0,0x02,0x01,0x8e,0xc0,0x10,0x01,0x8e,0x70,0x89,
-0x55,0xd0,0x70,0x89,0x56,0xe0,0x18,0x00,0x2a,0x08,0x18,0x00,0x2a,0x00,0x78,0x50,
-0xfc,0x00,0x78,0x50,0x7c,0x00,0x78,0x2f,0x7c,0x00,0x70,0x89,0x02,0x00,0x70,0x89,
-0x01,0x00,0x70,0x89,0x00,0x00,0x70,0x89,0x03,0x00,0x70,0x89,0x04,0x70,0x6f,0xe2,
-0x89,0x06,0x79,0x20,0x7e,0x00,0x67,0xe2,0x89,0x06,0x20,0x60,0x00,0x00,0x70,0x89,
-0x55,0xd0,0x70,0x89,0x56,0xc0,0x20,0x20,0x01,0x80,0x20,0x40,0x57,0xaf,0x20,0x40,
-0x01,0x94,0x20,0x20,0x58,0xa7,0x20,0x36,0x81,0x9b,0x20,0x20,0x57,0xbe,0x60,0x42,
-0x00,0x17,0x20,0x40,0x49,0x2a,0x20,0x40,0x49,0x80,0x58,0x00,0x05,0x00,0x20,0x40,
-0x4a,0x8e,0x6f,0xe2,0x89,0x06,0x79,0x20,0x7e,0x00,0x67,0xe2,0x89,0x06,0x20,0x20,
-0x49,0x37,0x70,0x89,0x06,0x7c,0x20,0x75,0x80,0x00,0x58,0x00,0x00,0x00,0x67,0xe4,
-0x41,0xdd,0x1c,0x43,0x7e,0x00,0x67,0xe8,0x40,0x94,0x20,0x60,0x00,0x00,0x20,0x20,
-0x4b,0x7f,0x20,0x40,0x50,0x1f,0xef,0xe2,0x00,0x03,0x20,0x3a,0x01,0xab,0x20,0x20,
-0x49,0x30,0x20,0x20,0x48,0xf5,0x79,0x3f,0x80,0x2d,0x20,0x40,0x50,0x1f,0x20,0x20,
-0x02,0x1b,0x79,0x20,0x00,0x2d,0x20,0x40,0x02,0x4a,0x20,0x20,0x50,0x1f,0x6f,0xe2,
-0x0b,0x00,0x1f,0xe2,0x72,0x00,0x67,0xe2,0x0b,0x60,0xd8,0xa0,0x0b,0x61,0x20,0x40,
-0x67,0xed,0x20,0x20,0x50,0x1f,0xef,0xe2,0x00,0x03,0x67,0xe2,0x41,0xdf,0x20,0x40,
-0x48,0xf5,0x20,0x40,0x49,0x30,0x20,0x20,0x50,0x1f,0xef,0xe2,0x00,0x03,0x67,0xe2,
-0x4b,0xf0,0x20,0x20,0x50,0x1f,0xef,0xe8,0x00,0x03,0x67,0xe8,0x4b,0xf2,0x20,0x40,
-0x01,0xc4,0x20,0x20,0x50,0x1f,0x67,0xe8,0x4b,0xf2,0xda,0x20,0x00,0x00,0xdf,0x20,
-0x00,0x04,0xd8,0xc0,0x4b,0xf2,0xef,0xe2,0x00,0x06,0x9a,0x20,0xa2,0x00,0xc2,0x00,
-0x01,0xc8,0x1a,0x22,0x7e,0x00,0x67,0xe4,0x4c,0x08,0x6f,0xe2,0x4c,0x08,0x68,0x42,
-0x4c,0x09,0x98,0x40,0xfe,0x00,0x67,0xe2,0x4c,0x0a,0x20,0x60,0x00,0x00,0x6f,0xe2,
-0x0b,0x00,0x1f,0xe2,0x72,0x00,0x67,0xe2,0x4c,0x2f,0xd8,0xa0,0x4c,0x30,0x20,0x40,
-0x67,0xed,0x20,0x20,0x50,0x1f,0xef,0xe2,0x00,0x03,0x67,0xe2,0x4c,0x6e,0xef,0xe2,
-0x00,0x03,0x1f,0xef,0xfe,0x78,0x67,0xe4,0x4b,0xeb,0x20,0x20,0x50,0x1f,0xef,0xe2,
-0x00,0x03,0x67,0xe2,0x4b,0xfc,0x20,0x20,0x50,0x1f,0x78,0x44,0xfc,0x00,0x78,0x43,
-0xfc,0x00,0x58,0x55,0x55,0x55,0x98,0x00,0x1e,0x00,0x6f,0xe2,0x4b,0xf0,0x1f,0xed,
-0x84,0x00,0x79,0x20,0x04,0x01,0x18,0x43,0x1c,0x00,0x20,0x60,0x00,0x00,0x78,0x4d,
-0xfc,0x00,0x78,0x45,0xfc,0x00,0x78,0x4e,0xfc,0x00,0x78,0x4e,0x7c,0x00,0x78,0x46,
-0xfc,0x00,0x78,0x46,0x7c,0x00,0x78,0x44,0xfc,0x00,0x78,0x47,0x7c,0x00,0x78,0x43,
-0xfc,0x00,0x37,0xd3,0x82,0x00,0x20,0x00,0x00,0x64,0x20,0x60,0x00,0x00,0x20,0x40,
-0x49,0x15,0x68,0x42,0x4b,0xf0,0x20,0x20,0x49,0x30,0x20,0x40,0x57,0x9e,0x6f,0xe8,
-0x4b,0xf2,0x98,0x00,0x12,0x00,0x20,0x40,0x01,0xe1,0x20,0x40,0x01,0xf6,0x79,0x20,
-0x2a,0x00,0x78,0x2e,0xfc,0x00,0x78,0x30,0x7c,0x00,0x78,0x50,0xfc,0x00,0x19,0x31,
-0x7e,0x00,0x1f,0xec,0xfe,0x00,0x1f,0xf1,0xfe,0x00,0x08,0x00,0x86,0x28,0x78,0x4e,
-0xfc,0x00,0x78,0x2d,0xfc,0x00,0x78,0x23,0xfc,0x00,0x78,0x24,0xfc,0x00,0x6f,0xe2,
-0x4c,0x0a,0x08,0x00,0x86,0x08,0x6f,0xe2,0x0b,0x40,0x1f,0xe0,0xfe,0x01,0x98,0x00,
-0x72,0x00,0xd8,0xc0,0x0b,0x40,0xef,0xe2,0x00,0x06,0x08,0x00,0x86,0x08,0xc2,0x00,
-0x02,0x10,0x78,0x24,0x7c,0x00,0x08,0x00,0x86,0x18,0x78,0x44,0x7c,0x00,0x37,0xd3,
-0x82,0x00,0x20,0x00,0x00,0x64,0x78,0x4e,0xfc,0x00,0x78,0x4d,0xfc,0x00,0x20,0x60,
-0x00,0x00,0x70,0x4b,0xef,0x00,0x20,0x40,0x02,0x30,0x24,0x37,0x82,0x23,0x20,0x40,
-0x02,0x92,0x20,0x40,0x02,0x8b,0x58,0x00,0x00,0x00,0x67,0xe4,0x4b,0xbb,0x20,0x60,
-0x00,0x00,0x6f,0xe4,0x4b,0xbb,0x1f,0xe6,0x7c,0x05,0x24,0x21,0x02,0x8e,0x6f,0xe2,
-0x4b,0xef,0x1f,0xe0,0xfe,0x01,0x67,0xe2,0x4b,0xef,0x20,0x20,0x02,0x1c,0x6f,0xe2,
-0x0b,0x60,0x1f,0xe0,0xfe,0x01,0x1f,0xe2,0x72,0x00,0xd8,0xc0,0x0b,0x60,0xd8,0xa0,
-0x0b,0x40,0x20,0x20,0x7c,0xdc,0x78,0x57,0xfc,0x00,0x20,0x40,0x02,0x2a,0x20,0x40,
-0x01,0xf9,0x6f,0xe2,0x4b,0xfc,0xc0,0x00,0x82,0x3e,0x18,0x00,0x2a,0x00,0x6f,0xe8,
-0x4b,0xf2,0x98,0x00,0x12,0x00,0x68,0x42,0x00,0x17,0x20,0x40,0x49,0x1c,0x20,0x40,
-0x49,0x21,0x20,0x40,0x02,0x4a,0x20,0x57,0x81,0xea,0x20,0x60,0x00,0x00,0x70,0x0b,
-0x1f,0x00,0x78,0x37,0xfc,0x00,0x20,0x20,0x01,0xea,0x20,0x40,0x57,0x9e,0x6f,0xe8,
-0x4b,0xf2,0x98,0x00,0x12,0x00,0x20,0x40,0x49,0x15,0x68,0x42,0x4b,0xf0,0x20,0x40,
-0x49,0x1c,0x58,0x00,0x05,0x00,0x20,0x40,0x4a,0x8e,0x20,0x40,0x49,0x21,0x20,0x40,
-0x01,0xe1,0x78,0x26,0xfc,0x00,0x78,0x30,0xfc,0x00,0x78,0x50,0x7c,0x00,0x78,0x28,
-0x7c,0x00,0x6f,0xe4,0x4b,0xeb,0x98,0x00,0x36,0x00,0x37,0xc1,0x84,0x00,0x24,0x2c,
-0x01,0xea,0x78,0x46,0xfc,0x00,0x78,0x25,0xfc,0x00,0x78,0x23,0xfc,0x00,0x78,0x24,
-0xfc,0x00,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,0x4c,0x0b,0x68,0x42,
-0x4c,0x0a,0x98,0x46,0x7c,0x00,0x24,0x22,0x81,0xea,0x09,0x80,0x00,0x08,0x19,0x89,
-0x7e,0x00,0x67,0xe2,0x0b,0x1e,0x1f,0xe1,0x72,0x1f,0x20,0x22,0x82,0x66,0x09,0x80,
-0x00,0x08,0x19,0x89,0x7e,0x00,0xe7,0xe2,0x00,0x05,0xc2,0x00,0x02,0x62,0x09,0x80,
-0x00,0x18,0x1f,0xef,0x7e,0x00,0x1f,0xf1,0x7e,0x00,0xe7,0xe6,0x00,0x05,0x78,0x45,
-0xfc,0x00,0x20,0x23,0x01,0xea,0x78,0x37,0xfc,0x00,0x6f,0xe2,0x00,0x17,0x1f,0xe0,
-0xa2,0x00,0x20,0x40,0x49,0x80,0x78,0x46,0xfc,0x00,0x20,0x40,0x49,0x15,0x6f,0xe2,
-0x4c,0x1c,0x1f,0xe2,0x22,0x00,0x20,0x40,0x02,0x9b,0x20,0x60,0x00,0x00,0x20,0x40,
-0x02,0x7b,0x24,0x37,0x82,0x8b,0x20,0x40,0x02,0x92,0x78,0x57,0xfc,0x00,0x20,0x60,
-0x00,0x00,0x20,0x40,0x02,0x8b,0x78,0x57,0xfc,0x00,0x20,0x40,0x02,0x41,0x24,0x77,
-0x80,0x00,0x6f,0xe2,0x4b,0xfc,0xc0,0x00,0x81,0xea,0x20,0x40,0x02,0x85,0x20,0x40,
-0x01,0xf9,0x20,0x40,0x02,0x8b,0x20,0x20,0x01,0xea,0x6f,0xe2,0x4c,0x2f,0x1f,0xe0,
-0xfe,0x01,0x1f,0xe2,0x72,0x00,0xd8,0xc0,0x4c,0x2f,0xd8,0xa0,0x0b,0x40,0x20,0x20,
-0x7c,0xdc,0xd8,0xa0,0x0b,0x1e,0xdf,0x20,0x00,0x42,0x20,0x20,0x7c,0xaf,0x70,0x0a,
-0xff,0xc2,0x58,0x00,0x00,0x00,0x20,0x40,0x50,0xa5,0x20,0x20,0x67,0xb9,0x70,0x0a,
-0xff,0xc1,0x6f,0xe2,0x0b,0x1e,0x1f,0xe1,0x72,0x1f,0x20,0x7a,0x00,0x00,0x1f,0xe2,
-0x72,0x00,0x20,0x40,0x50,0xa5,0xd8,0xc0,0x0b,0x1f,0x20,0x40,0x67,0xd4,0x20,0x20,
-0x67,0xb9,0x68,0x42,0x4c,0x2e,0x58,0x00,0x4c,0x1d,0x98,0x40,0x8a,0x00,0x1a,0x22,
-0x7e,0x00,0xe7,0xe2,0x00,0x05,0x18,0x40,0x84,0x01,0x18,0x41,0x04,0x07,0x60,0x42,
-0x4c,0x2e,0x20,0x60,0x00,0x00,0x20,0x40,0x49,0xba,0x20,0x7a,0x00,0x00,0x68,0x42,
-0x4c,0x2d,0xda,0x20,0x0b,0xa2,0x20,0x40,0x02,0xab,0x60,0x42,0x4c,0x2d,0x20,0x60,
-0x00,0x00,0x1a,0x22,0x7e,0x00,0x98,0x40,0x8a,0x00,0x6f,0xe2,0x00,0x18,0xe7,0xe2,
-0x00,0x05,0x18,0x40,0x84,0x01,0x18,0x41,0x04,0xff,0x20,0x60,0x00,0x00,0xc6,0x96,
-0x80,0x00,0x20,0x20,0x02,0x76,0x58,0x00,0x00,0x25,0x67,0xe4,0x44,0xcc,0x20,0x40,
-0x5b,0xf0,0x20,0x40,0x5c,0x0c,0x20,0x40,0x5c,0x19,0x20,0x20,0x5b,0xf8,0x20,0x40,
-0x58,0xa3,0x20,0x40,0x49,0x15,0x68,0x42,0x00,0x17,0x20,0x40,0x49,0x1c,0x20,0x00,
-0x05,0xdc,0x20,0x40,0x49,0x21,0x78,0x28,0x7c,0x00,0xd9,0x60,0x15,0x7c,0x20,0x20,
-0x58,0x69,0x20,0x40,0x49,0xba,0x78,0x23,0xfc,0x00,0x78,0x24,0xfc,0x00,0x09,0x80,
-0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,0x02,0xd5,0x09,0x80,0x00,0x08,0x19,0x89,
-0x7e,0x00,0xe7,0xe2,0x00,0x05,0x1f,0xe2,0x72,0x00,0x20,0x3a,0x58,0x8b,0x20,0x20,
-0x58,0x87,0xc6,0x07,0x80,0x00,0x20,0x40,0x5c,0x70,0x24,0x7a,0x00,0x00,0x6f,0xe2,
-0x02,0xd5,0x1f,0xe1,0x7e,0x03,0x67,0xe2,0x44,0xde,0xef,0xe2,0x00,0x06,0x67,0xe2,
-0x44,0xdd,0x20,0x7a,0x00,0x00,0x18,0xc2,0x7e,0x00,0x67,0xe4,0x44,0xdf,0x6f,0xe2,
-0x44,0xde,0xc0,0x01,0xe0,0x44,0x20,0x40,0x5a,0x76,0xd8,0xe0,0x00,0x03,0x24,0x34,
-0x4b,0xec,0x20,0x40,0x4b,0xf0,0x20,0x20,0x5a,0x6b,0xef,0xe4,0x00,0x06,0xc0,0x02,
-0x5c,0x8b,0xc0,0x03,0x5e,0xd4,0xc0,0x02,0xde,0x96,0x20,0x60,0x00,0x00,0x20,0x40,
+0x04,0xc5,0xc0,0x05,0x81,0xfd,0x20,0x20,0x61,0xa6,0x20,0x40,0x61,0xdf,0x79,0x3f,
+0x80,0x30,0x6f,0xe2,0x00,0x55,0xc1,0x8c,0x80,0x00,0x70,0x0a,0xff,0xb1,0x58,0x00,
+0x00,0x01,0x20,0x40,0x50,0xa5,0x58,0x00,0x00,0x01,0xe7,0xe2,0x00,0x0a,0x20,0x20,
+0x67,0xb9,0x78,0x54,0x7c,0x00,0x20,0x40,0x66,0xa3,0x6f,0xe2,0x00,0x48,0x20,0x7a,
+0x00,0x00,0xc2,0x83,0x82,0x0d,0x20,0x20,0x63,0xf2,0xc0,0x42,0x02,0x10,0xc0,0x41,
+0x82,0x13,0x20,0x20,0x64,0x21,0x20,0x40,0x02,0x16,0x6f,0xe2,0x00,0x48,0x20,0x20,
+0x64,0x7b,0x20,0x40,0x02,0x16,0x6f,0xe2,0x00,0x48,0x20,0x20,0x64,0xef,0x6f,0xe2,
+0x46,0x2c,0x20,0x3a,0x65,0x0d,0x20,0x20,0x65,0x06,0x6f,0xe2,0x40,0x9e,0x79,0x3f,
+0xfe,0x03,0x67,0xe2,0x40,0x9e,0x58,0x00,0x00,0x01,0x67,0xe4,0x04,0xca,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x44,0x90,0x20,0x3a,0x5e,0xd0,0x20,0x40,0x74,0x38,0x20,0x20,
+0x79,0x32,0x18,0x42,0x7e,0x00,0x20,0x40,0x7d,0x2b,0x1c,0x30,0x7e,0x00,0x79,0x20,
+0x7e,0x2c,0x20,0x40,0x7d,0x14,0x79,0x3f,0xfe,0x2c,0x20,0x40,0x4a,0x76,0x20,0x40,
+0x7d,0x14,0x20,0x74,0x00,0x00,0x20,0x40,0x02,0x3a,0x20,0x20,0x4a,0x2f,0x1b,0x42,
+0x7e,0x00,0x20,0x40,0x02,0x39,0x20,0x20,0x4a,0xe9,0x6f,0xe4,0x40,0x4e,0x1f,0xe3,
+0x7e,0x00,0x20,0x40,0x7d,0x2b,0x1e,0x02,0x7e,0x00,0x20,0x40,0x7d,0x14,0x1b,0x42,
+0x04,0x00,0x20,0x40,0x02,0x39,0x20,0x20,0x4b,0x67,0x20,0x40,0x7d,0x14,0x98,0x00,
+0x0c,0x00,0x79,0x3f,0x8c,0x10,0x20,0x20,0x7d,0x1f,0x20,0x40,0x68,0xc4,0x20,0x40,
+0x60,0xd7,0x20,0x40,0x02,0x41,0x20,0x20,0x40,0x0a,0x20,0x75,0x80,0x00,0x20,0x20,
+0x7b,0x9a,0x20,0x40,0x02,0xe8,0x20,0x40,0x03,0xae,0x20,0x40,0x03,0xac,0x20,0x20,
+0x40,0x10,0x20,0x20,0x5a,0xcc,0x20,0x40,0x7b,0x84,0x20,0x40,0x7b,0xc1,0x20,0x40,
+0x4c,0x8f,0x6f,0xe4,0x41,0xf4,0x20,0x20,0x7d,0x77,0x20,0x30,0x82,0x5d,0x70,0x89,
+0x55,0xd4,0x20,0x00,0x00,0x04,0x70,0x89,0x55,0xd2,0x20,0x00,0x00,0x04,0x70,0x89,
+0x55,0xd1,0x20,0x00,0x00,0x04,0x6f,0xe2,0x41,0xdf,0xc0,0x00,0x02,0x5b,0xc0,0x00,
+0x82,0x6b,0xc0,0x01,0x02,0x5b,0xc0,0x01,0x82,0x6b,0xc0,0x02,0x02,0x6b,0xc0,0x10,
+0x02,0x6b,0x70,0x89,0x55,0xd0,0x70,0x89,0x56,0xe0,0x18,0x00,0x2a,0x08,0x18,0x00,
+0x2a,0x00,0x78,0x50,0xfc,0x00,0x78,0x50,0x7c,0x00,0x78,0x2f,0x7c,0x00,0x70,0x89,
+0x02,0x00,0x70,0x89,0x01,0x00,0x70,0x89,0x00,0x00,0x70,0x89,0x03,0x00,0x70,0x89,
+0x04,0x70,0x6f,0xe2,0x89,0x06,0x79,0x20,0x7e,0x00,0x67,0xe2,0x89,0x06,0x20,0x60,
+0x00,0x00,0x70,0x89,0x55,0xd0,0x70,0x89,0x56,0xc0,0x20,0x20,0x02,0x5d,0x20,0x40,
+0x57,0xaf,0x20,0x40,0x02,0x71,0x20,0x20,0x58,0xa7,0x20,0x36,0x82,0x78,0x20,0x20,
+0x57,0xbe,0x60,0x42,0x00,0x17,0x20,0x40,0x49,0x2a,0x20,0x40,0x49,0x80,0x58,0x00,
+0x05,0x00,0x20,0x40,0x4a,0x8e,0x6f,0xe2,0x89,0x06,0x79,0x20,0x7e,0x00,0x67,0xe2,
+0x89,0x06,0x70,0x89,0x00,0x3c,0x70,0x89,0x01,0xe0,0x70,0x89,0x6d,0x12,0x20,0x00,
+0x00,0x0a,0x70,0x89,0x02,0x01,0x70,0x89,0x02,0x3d,0x20,0x00,0x00,0x0a,0x70,0x89,
+0x03,0xb7,0x20,0x00,0x00,0x0a,0x70,0x89,0x02,0x7f,0x6f,0xe2,0x41,0xdf,0xc0,0x00,
+0x49,0x48,0xc0,0x00,0xc9,0x4c,0xc0,0x01,0x02,0x8f,0xc0,0x01,0xc9,0x54,0xc0,0x02,
+0x49,0x58,0xc0,0x05,0x02,0x93,0xc0,0x07,0x82,0x9a,0xc0,0x0a,0x02,0xa1,0xc0,0x10,
+0x49,0x5c,0x70,0x89,0x56,0xff,0x20,0x40,0x49,0x62,0x70,0x89,0x55,0xdf,0x20,0x60,
+0x00,0x00,0x70,0x89,0x54,0x68,0x70,0x89,0x55,0xd8,0x70,0x89,0x56,0xe5,0x70,0x89,
+0x57,0x4c,0x70,0x89,0x58,0x36,0x70,0x89,0x59,0x10,0x20,0x60,0x00,0x00,0x70,0x89,
+0x54,0x68,0x70,0x89,0x55,0xd8,0x70,0x89,0x56,0xe2,0x70,0x89,0x57,0x4c,0x70,0x89,
+0x58,0x36,0x70,0x89,0x59,0x10,0x20,0x60,0x00,0x00,0x70,0x89,0x54,0x68,0x70,0x89,
+0x55,0xd8,0x70,0x89,0x56,0xe1,0x70,0x89,0x57,0x4c,0x70,0x89,0x58,0x36,0x70,0x89,
+0x59,0x10,0x20,0x60,0x00,0x00,0x70,0x89,0x06,0x74,0x20,0x00,0x2e,0xe0,0x70,0x89,
+0x06,0x7c,0x20,0x75,0x80,0x00,0x58,0x00,0x00,0x00,0x67,0xe4,0x41,0xdd,0x1c,0x43,
+0x7e,0x00,0x67,0xe8,0x40,0x94,0x20,0x60,0x00,0x00,0x20,0x20,0x4b,0x7f,0x20,0x40,
+0x50,0x1f,0xef,0xe2,0x00,0x03,0x20,0x3a,0x02,0xb6,0x20,0x20,0x49,0x30,0x20,0x20,
+0x48,0xf5,0x79,0x3f,0x80,0x2d,0x20,0x20,0x03,0x32,0x79,0x20,0x00,0x2d,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,0x72,0x00,0x67,0xe2,0x0b,0x60,0xd8,0xa0,
+0x0b,0x61,0x20,0x20,0x67,0xed,0xef,0xe2,0x00,0x03,0x67,0xe2,0x41,0xdf,0x20,0x60,
+0x00,0x00,0x70,0x4d,0x16,0x01,0xef,0xe2,0x00,0x03,0x67,0xe2,0x4c,0xe7,0x20,0x60,
+0x00,0x00,0xef,0xe8,0x00,0x03,0x67,0xe8,0x4c,0xe8,0x20,0x20,0x02,0xca,0x67,0xe8,
+0x4c,0xe8,0xda,0x20,0x00,0x00,0xdf,0x20,0x00,0x04,0xd8,0xc0,0x4c,0xe8,0xef,0xe2,
+0x00,0x06,0x9a,0x20,0xa2,0x00,0xc2,0x00,0x02,0xce,0x1a,0x22,0x7e,0x00,0x67,0xe4,
+0x4c,0xee,0x6f,0xe2,0x4c,0xee,0x68,0x42,0x4c,0xef,0x98,0x40,0xfe,0x00,0x67,0xe2,
+0x4c,0xf0,0x20,0x60,0x00,0x00,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,0x72,0x00,0x67,0xe2,
+0x4c,0xf4,0xd8,0xa0,0x4c,0xf5,0x20,0x20,0x67,0xed,0xef,0xe2,0x00,0x03,0x67,0xe2,
+0x4d,0x17,0xef,0xe2,0x00,0x03,0x1f,0xef,0xfe,0x78,0x67,0xe4,0x4c,0xe4,0x20,0x60,
+0x00,0x00,0x20,0x20,0x50,0x1f,0xef,0xe2,0x00,0x03,0x67,0xe2,0x4c,0xec,0x20,0x60,
+0x00,0x00,0x20,0x20,0x50,0x1f,0xc6,0x96,0x80,0x00,0x20,0x40,0x03,0xc3,0x58,0x00,
+0x00,0xca,0xda,0x20,0x00,0x01,0xda,0x40,0x00,0x18,0xd8,0x40,0x00,0x00,0x20,0x20,
+0x50,0x2b,0xef,0xe2,0x00,0x03,0xc0,0x00,0x82,0xf3,0x79,0x3f,0x80,0x2e,0x20,0x20,
+0x50,0x1f,0xef,0xe2,0x00,0x03,0x67,0xe2,0x4d,0x19,0xef,0xe2,0x00,0x03,0x67,0xe2,
+0x41,0xdf,0x79,0x20,0x00,0x2e,0x20,0x20,0x50,0x1f,0x78,0x44,0xfc,0x00,0x78,0x43,
+0xfc,0x00,0x58,0x55,0x55,0x55,0x98,0x00,0x1e,0x00,0x6f,0xe2,0x4c,0xe7,0x1f,0xed,
+0x84,0x00,0x79,0x20,0x04,0x01,0x18,0x43,0x1c,0x00,0x20,0x60,0x00,0x00,0x20,0x40,
+0x49,0xba,0x78,0x4d,0xfc,0x00,0x78,0x45,0xfc,0x00,0x78,0x4e,0xfc,0x00,0x78,0x4e,
+0x7c,0x00,0x78,0x46,0xfc,0x00,0x78,0x46,0x7c,0x00,0x78,0x44,0xfc,0x00,0x78,0x47,
+0x7c,0x00,0x78,0x43,0xfc,0x00,0x37,0xd3,0x82,0x00,0x20,0x00,0x00,0x64,0x20,0x60,
+0x00,0x00,0x20,0x40,0x49,0x15,0x68,0x42,0x4c,0xe7,0x20,0x20,0x02,0x73,0x20,0x40,
+0x57,0x9e,0x6f,0xe8,0x4c,0xe8,0x98,0x00,0x12,0x00,0x20,0x40,0x02,0xf9,0x20,0x40,
+0x03,0x0f,0x79,0x20,0x2a,0x00,0x78,0x2e,0xfc,0x00,0x78,0x30,0x7c,0x00,0x78,0x50,
+0xfc,0x00,0x19,0x31,0x7e,0x00,0x1f,0xec,0xfe,0x00,0x1f,0xf1,0xfe,0x00,0x08,0x00,
+0x86,0x28,0x78,0x23,0xfc,0x00,0x78,0x24,0xfc,0x00,0x6f,0xe2,0x4c,0xf0,0x08,0x00,
+0x86,0x08,0x6f,0xe2,0x0b,0x40,0x1f,0xe0,0xfe,0x01,0x98,0x00,0x72,0x00,0xd8,0xc0,
+0x0b,0x40,0xef,0xe2,0x00,0x06,0x08,0x00,0x86,0x08,0xc2,0x00,0x03,0x27,0x78,0x24,
+0x7c,0x00,0x08,0x00,0x86,0x18,0x78,0x44,0x7c,0x00,0x37,0xd3,0x82,0x00,0x20,0x00,
+0x00,0x64,0x78,0x4e,0xfc,0x00,0x78,0x4d,0xfc,0x00,0x20,0x60,0x00,0x00,0x70,0x4c,
+0xe6,0x00,0x20,0x40,0x03,0x47,0x24,0x37,0x83,0x38,0x20,0x40,0x03,0xa1,0x20,0x40,
+0x03,0x9a,0x20,0x60,0x00,0x00,0x6f,0xe2,0x4d,0x17,0x68,0x42,0x4c,0xe6,0x98,0x46,
+0x7c,0x00,0x20,0x22,0x83,0x9d,0x24,0x21,0x03,0x9d,0x6f,0xe2,0x4c,0xe6,0x1f,0xe0,
+0xfe,0x01,0x67,0xe2,0x4c,0xe6,0x20,0x20,0x03,0x33,0x6f,0xe2,0x0b,0x60,0x1f,0xe0,
+0xfe,0x01,0x1f,0xe2,0x72,0x00,0xd8,0xc0,0x0b,0x60,0xd8,0xa0,0x0b,0x40,0x20,0x20,
+0x7c,0xdc,0x78,0x57,0xfc,0x00,0x20,0x40,0x03,0x41,0x20,0x40,0x03,0x12,0x6f,0xe2,
+0x4c,0xec,0xc0,0x00,0x83,0x55,0x18,0x00,0x2a,0x00,0x6f,0xe8,0x4c,0xe8,0x98,0x00,
+0x12,0x00,0x68,0x42,0x00,0x17,0x20,0x40,0x49,0x1c,0x20,0x40,0x49,0x21,0x20,0x40,
+0x03,0x5f,0x20,0x57,0x83,0x02,0x20,0x60,0x00,0x00,0x70,0x0b,0x1f,0x00,0x78,0x37,
+0xfc,0x00,0x20,0x20,0x03,0x02,0x20,0x40,0x57,0x9e,0x6f,0xe8,0x4c,0xe8,0x98,0x00,
+0x12,0x00,0x20,0x40,0x49,0x15,0x68,0x42,0x4c,0xe7,0x20,0x40,0x49,0x1c,0x20,0x40,
+0x49,0x21,0x20,0x40,0x02,0xf9,0x78,0x26,0xfc,0x00,0x78,0x30,0xfc,0x00,0x78,0x50,
+0x7c,0x00,0x78,0x28,0x7c,0x00,0x6f,0xe4,0x4c,0xe4,0x98,0x00,0x36,0x00,0x37,0xc1,
+0x84,0x00,0x24,0x2c,0x03,0x02,0x78,0x23,0xfc,0x00,0x78,0x24,0xfc,0x00,0x09,0x80,
+0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,0x4c,0xf1,0x68,0x42,0x4c,0xf0,0x98,0x46,
+0x7c,0x00,0x24,0x22,0x83,0x02,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,
+0x0b,0x1e,0x1f,0xe1,0x72,0x1f,0x20,0x22,0x83,0x79,0x09,0x80,0x00,0x08,0x19,0x89,
+0x7e,0x00,0xe7,0xe2,0x00,0x05,0xc2,0x00,0x03,0x75,0x09,0x80,0x00,0x18,0x1f,0xef,
+0x7e,0x00,0x1f,0xf1,0x7e,0x00,0xe7,0xe6,0x00,0x05,0x20,0x23,0x03,0x02,0x20,0x40,
+0x49,0xba,0x78,0x37,0xfc,0x00,0x6f,0xe2,0x00,0x17,0x1f,0xe0,0xa2,0x00,0x20,0x40,
+0x49,0x80,0x78,0x46,0xfc,0x00,0x20,0x40,0x49,0x15,0x20,0x60,0x00,0x00,0x20,0x40,
+0x03,0x8b,0x24,0x37,0x83,0x9a,0x20,0x40,0x03,0xa1,0x78,0x57,0xfc,0x00,0x20,0x60,
+0x00,0x00,0x20,0x40,0x03,0x9a,0x78,0x57,0xfc,0x00,0x20,0x40,0x03,0x58,0x24,0x77,
+0x80,0x00,0x6f,0xe2,0x4c,0xec,0xc0,0x00,0x83,0x02,0x20,0x40,0x03,0x94,0x20,0x40,
+0x03,0x12,0x20,0x20,0x03,0x02,0x6f,0xe2,0x4c,0xf4,0x1f,0xe0,0xfe,0x01,0x1f,0xe2,
+0x72,0x00,0xd8,0xc0,0x4c,0xf4,0xd8,0xa0,0x0b,0x40,0x20,0x20,0x7c,0xdc,0xd8,0xa0,
+0x0b,0x1e,0xdf,0x20,0x00,0x42,0x20,0x20,0x7c,0xaf,0x70,0x0a,0xff,0xc2,0x58,0x00,
+0x00,0x00,0x20,0x40,0x50,0xa5,0x20,0x20,0x67,0xb9,0x70,0x0a,0xff,0xc1,0x6f,0xe2,
+0x0b,0x1e,0x1f,0xe1,0x72,0x1f,0x1f,0x22,0x7e,0x00,0x1f,0xe0,0xfe,0x01,0x20,0x40,
+0x50,0xa5,0x6f,0xe2,0x00,0x18,0xe7,0xe2,0x00,0x0a,0xd8,0xc0,0x0b,0x1f,0x20,0x40,
+0x67,0xd4,0x20,0x20,0x67,0xb9,0xc6,0x96,0x80,0x00,0x20,0x20,0x03,0x86,0xc6,0x97,
+0x00,0x00,0x68,0x42,0x4d,0x19,0x20,0x40,0x49,0x15,0x20,0x40,0x02,0x73,0x20,0x40,
+0x57,0x9e,0x79,0x20,0x2a,0x00,0x78,0x2e,0xfc,0x00,0x78,0x30,0x7c,0x00,0x78,0x50,
+0xfc,0x00,0x20,0x40,0x58,0x59,0xd8,0xa0,0x0f,0xa2,0x58,0x00,0x00,0x20,0x67,0xe2,
+0x89,0x08,0xdf,0x20,0x00,0x18,0xd8,0xc0,0x0f,0xa2,0x20,0x20,0x03,0xbe,0xef,0xe2,
+0x00,0x06,0x08,0x00,0x86,0x08,0xc2,0x00,0x03,0xbe,0x20,0x40,0x02,0x4d,0x20,0x60,
+0x00,0x00,0x20,0x40,0x57,0x9e,0x6f,0xe8,0x4c,0xe8,0x98,0x00,0x12,0x00,0x20,0x40,
+0x49,0x15,0x68,0x42,0x4c,0xe7,0x20,0x40,0x49,0x1c,0x20,0x40,0x49,0x21,0x20,0x40,
+0x02,0xf9,0x78,0x26,0xfc,0x00,0x78,0x30,0xfc,0x00,0x78,0x50,0x7c,0x00,0x78,0x28,
+0x7c,0x00,0x58,0x00,0x00,0x0c,0x98,0x00,0x36,0x00,0x37,0xc1,0x84,0x00,0x24,0x2c,
+0x03,0x02,0x20,0x20,0x03,0x02,0x20,0x40,0x03,0xe7,0x20,0x20,0x03,0xe3,0x20,0x40,
+0x03,0xe7,0x20,0x40,0x03,0xe3,0x20,0x40,0x03,0xe7,0x20,0x40,0x03,0xe3,0x20,0x20,
+0x03,0xe7,0x20,0x40,0x03,0xe7,0x20,0x40,0x03,0xe3,0x20,0x20,0x03,0xe7,0x20,0x40,
+0x03,0xe3,0x20,0x40,0x03,0xe7,0x20,0x20,0x03,0xe3,0x20,0x40,0x03,0xe3,0x20,0x20,
+0x03,0xe7,0xd8,0x40,0x00,0x0f,0x20,0x20,0x03,0xf2,0xd8,0x40,0x00,0x0f,0x20,0x40,
+0x03,0xf6,0xd8,0x40,0x00,0x0f,0x20,0x20,0x03,0xf6,0x20,0x40,0x03,0xf0,0x20,0x40,
+0x03,0xec,0x20,0x20,0x03,0xf0,0xd8,0x40,0x00,0x16,0x20,0x20,0x03,0xf2,0xd8,0x40,
+0x00,0x16,0x20,0x40,0x03,0xf6,0xd8,0x40,0x00,0x16,0x20,0x20,0x03,0xf6,0x18,0x46,
+0x7c,0xff,0x20,0x62,0x80,0x00,0x2f,0xcf,0xfe,0x07,0x20,0x20,0x03,0xf9,0x18,0x46,
+0x7c,0xff,0x20,0x62,0x80,0x00,0x2f,0xcc,0x00,0x07,0x58,0x00,0x00,0x00,0x7d,0x20,
+0xfe,0x07,0x98,0x42,0x84,0x00,0x20,0x40,0x04,0x0f,0x58,0x00,0x00,0x3f,0x28,0x4f,
+0xfe,0x07,0x79,0x20,0xfe,0x00,0x20,0x20,0x04,0x01,0xe7,0xe2,0x00,0x05,0xda,0xc0,
+0x00,0x00,0x20,0x60,0x00,0x00,0x20,0x40,0x04,0x0a,0x70,0x4f,0xf0,0x66,0x20,0x20,
+0x04,0x07,0x6f,0xe2,0x4f,0xf1,0xc0,0xd5,0x04,0x07,0x20,0x60,0x00,0x00,0xda,0xc0,
+0x00,0x00,0x6f,0xe2,0x80,0x43,0x79,0x3f,0xfe,0x07,0x67,0xe2,0x80,0x43,0x20,0x60,
+0x00,0x00,0x20,0x40,0x04,0x15,0xda,0xc0,0x00,0x0f,0x18,0x41,0x7e,0x3f,0xd8,0xa1,
+0x87,0x00,0x98,0xa0,0x8a,0x00,0x20,0x60,0x00,0x00,0xda,0xc0,0x00,0x00,0x6f,0xe2,
+0x80,0x43,0x79,0x20,0x7e,0x07,0x67,0xe2,0x80,0x43,0x20,0x60,0x00,0x00,0x58,0x00,
+0x00,0x25,0x67,0xe4,0x44,0xcc,0x20,0x40,0x5b,0xf0,0x20,0x40,0x5c,0x0c,0x20,0x40,
+0x5c,0x19,0x20,0x20,0x5b,0xf8,0x20,0x40,0x58,0xa3,0x20,0x40,0x49,0x15,0x68,0x42,
+0x00,0x17,0x20,0x40,0x49,0x1c,0x20,0x00,0x05,0xdc,0x20,0x40,0x49,0x21,0x78,0x28,
+0x7c,0x00,0xd9,0x60,0x15,0x7c,0x20,0x20,0x58,0x69,0x20,0x40,0x49,0xba,0x78,0x23,
+0xfc,0x00,0x78,0x24,0xfc,0x00,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,
+0x02,0xd5,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0xe7,0xe2,0x00,0x05,0x1f,0xe2,
+0x72,0x00,0x20,0x3a,0x58,0x8b,0x20,0x20,0x58,0x87,0xc6,0x07,0x80,0x00,0x20,0x40,
+0x5c,0x70,0x24,0x7a,0x00,0x00,0x6f,0xe2,0x02,0xd5,0x1f,0xe1,0x7e,0x03,0x67,0xe2,
+0x44,0xde,0xef,0xe2,0x00,0x06,0x67,0xe2,0x44,0xdd,0x20,0x7a,0x00,0x00,0x18,0xc2,
+0x7e,0x00,0x67,0xe4,0x44,0xdf,0x6f,0xe2,0x44,0xde,0xc0,0x01,0xe0,0x44,0x20,0x40,
+0x5a,0x76,0xd8,0xe0,0x00,0x03,0x24,0x34,0x4b,0xec,0x20,0x40,0x4b,0xf0,0x20,0x20,
+0x5a,0x6b,0xef,0xe4,0x00,0x06,0xc0,0x02,0x04,0x4c,0xc0,0x03,0x5e,0xd4,0xc0,0x02,
+0xde,0x96,0x20,0x60,0x00,0x00,0xef,0xe6,0x00,0x06,0x67,0xe6,0x04,0x73,0xc0,0x05,
+0x04,0x50,0x20,0x20,0x5c,0x8d,0x68,0x44,0x04,0x74,0x6f,0xe2,0x44,0xbb,0xc2,0x81,
+0x84,0x54,0x20,0x20,0x04,0x5b,0x6f,0xe4,0x44,0xcc,0x98,0x46,0x7c,0x00,0x24,0x22,
+0x84,0x5b,0x20,0x40,0x5e,0x22,0x24,0x34,0x04,0x5b,0x70,0x04,0x76,0x05,0x20,0x20,
+0x5e,0x57,0x20,0x40,0x5b,0x4a,0x20,0x3a,0x5e,0x56,0x18,0xc0,0x8d,0xfe,0xef,0xe4,
+0x00,0x06,0xd8,0x40,0x2a,0x00,0x98,0x46,0x7c,0x00,0x20,0x22,0xdd,0xb3,0xef,0xe2,
+0x00,0x06,0x18,0xc2,0x26,0x00,0x68,0x42,0x44,0x78,0x98,0x46,0x7c,0x00,0x24,0x21,
+0x04,0x68,0x6f,0xe2,0x44,0x78,0x1a,0x62,0x0c,0x00,0x1f,0xe2,0x26,0x00,0x20,0x40,
+0x7c,0x80,0x1a,0x60,0xa2,0x01,0x20,0x40,0x5e,0x62,0x58,0x00,0x00,0x0b,0xe7,0xe2,
+0x00,0x05,0x1a,0x62,0x72,0x00,0x20,0x40,0x7c,0x7a,0x20,0x20,0x7c,0xdc,0x20,0x40,
 0x5a,0xc9,0x20,0x40,0x59,0x9a,0x6f,0xe2,0x02,0xd5,0x2f,0xef,0xfe,0x04,0x79,0x20,
 0x80,0x2a,0x1f,0xe3,0x7e,0x00,0x98,0x42,0xfe,0x00,0x2f,0xef,0xfe,0x02,0x79,0x20,
 0x80,0x0f,0xc6,0x07,0x80,0x00,0x6f,0xe2,0x02,0xd6,0x20,0x3a,0x59,0x96,0x6f,0xe2,
 0x04,0x3b,0xc3,0x02,0x59,0x96,0x20,0x40,0x73,0x42,0x20,0x40,0x72,0xb2,0x7d,0x3a,
 0x00,0x0f,0x24,0x7a,0x00,0x00,0x20,0x20,0x59,0x96,0x70,0x0a,0xff,0xb3,0x20,0x20,
-0x50,0x4e,0x70,0x0a,0xff,0xb4,0x58,0x00,0x00,0x1c,0x20,0x40,0x50,0xa5,0x6f,0xec,
+0x50,0x4e,0x70,0x0a,0xff,0xb4,0x58,0x00,0x00,0x1d,0x20,0x40,0x50,0xa5,0x6f,0xec,
 0x44,0x72,0xe7,0xec,0x00,0x0a,0x6f,0xec,0x04,0x4b,0xe7,0xec,0x00,0x0a,0xd8,0xc0,
-0x43,0xeb,0xdf,0x20,0x00,0x10,0x20,0x40,0x67,0xd4,0x20,0x20,0x67,0xb9,0x70,0x4b,
-0xb1,0x00,0x70,0x4b,0xb0,0x00,0x20,0x60,0x00,0x00,0x20,0x40,0x4e,0x2f,0x20,0x40,
-0x03,0x11,0x6f,0xe4,0x46,0x52,0xc4,0x06,0x00,0x00,0x79,0x3f,0xfe,0x0c,0x67,0xe4,
-0x46,0x52,0x70,0x0a,0xff,0xb6,0x20,0x20,0x50,0x4e,0x70,0x41,0xe3,0x00,0x70,0x46,
-0x50,0x00,0x70,0x42,0x04,0x00,0x70,0x4b,0xb0,0x00,0x70,0x4b,0xb1,0x00,0x20,0x60,
-0x00,0x00,0x20,0x40,0x4e,0x2f,0x70,0x0a,0xff,0xb1,0x58,0x00,0x00,0x01,0x20,0x40,
-0x50,0xa5,0x58,0x00,0x00,0x00,0xe7,0xe2,0x00,0x0a,0x20,0x40,0x67,0xb9,0x20,0x20,
-0x4d,0x34,0x20,0x20,0x00,0x5d,0x58,0x00,0x00,0x02,0x67,0xe2,0x46,0x50,0x20,0x60,
-0x00,0x00,0x6f,0xe4,0x46,0x52,0x79,0x3f,0xfe,0x0c,0x67,0xe4,0x46,0x52,0x70,0x0a,
-0xff,0xb6,0x20,0x40,0x50,0x4e,0x70,0x4b,0xb0,0x00,0x58,0x00,0x00,0x01,0x67,0xe2,
-0x4b,0xb1,0x20,0x60,0x00,0x00,0x6f,0xe2,0x41,0xe3,0xc1,0x00,0x80,0x00,0x6f,0xe4,
-0x46,0x52,0x79,0x20,0x7e,0x0c,0x67,0xe4,0x46,0x52,0x70,0x0a,0xff,0xb0,0x20,0x40,
-0x50,0x4e,0x70,0x41,0xe3,0x01,0x20,0x40,0x00,0x5d,0x20,0x20,0x4d,0x89,0x20,0x20,
-0x03,0x17,0x58,0x00,0x00,0x05,0x67,0xe2,0x4b,0xb0,0x20,0x60,0x00,0x00,0x20,0x20,
-0x4d,0x48,0x20,0x60,0x00,0x00,0x20,0x20,0x03,0x3d,0x70,0x0a,0xff,0xb5,0x58,0x00,
-0x00,0x1c,0x20,0x40,0x50,0xa5,0x6f,0xec,0x40,0xa0,0xe7,0xec,0x00,0x0a,0x6f,0xec,
-0x00,0x40,0xe7,0xec,0x00,0x0a,0xd8,0xc0,0x41,0xbf,0xdf,0x20,0x00,0x10,0x20,0x40,
-0x67,0xd4,0x20,0x20,0x67,0xb9,0xda,0x60,0x4b,0xb0,0xda,0x40,0x03,0x4b,0x20,0x20,
+0x43,0xeb,0xdf,0x20,0x00,0x10,0x20,0x40,0x67,0xd4,0x6f,0xe2,0x44,0x60,0xe7,0xe2,
+0x00,0x0a,0x20,0x20,0x67,0xb9,0x70,0x4c,0xe1,0x00,0x70,0x4c,0xe0,0x00,0x20,0x60,
+0x00,0x00,0x20,0x40,0x4e,0x2f,0x20,0x40,0x04,0x9f,0x6f,0xe4,0x46,0x52,0xc4,0x06,
+0x00,0x00,0x79,0x3f,0xfe,0x0c,0x67,0xe4,0x46,0x52,0x70,0x0a,0xff,0xb6,0x20,0x20,
+0x50,0x4e,0x70,0x41,0xe3,0x00,0x70,0x46,0x50,0x00,0x70,0x42,0x04,0x00,0x70,0x4c,
+0xe0,0x00,0x70,0x4c,0xe1,0x00,0x20,0x60,0x00,0x00,0x79,0x3f,0x80,0x30,0x20,0x40,
+0x4e,0x2f,0x70,0x0a,0xff,0xb1,0x58,0x00,0x00,0x01,0x20,0x40,0x50,0xa5,0x58,0x00,
+0x00,0x00,0xe7,0xe2,0x00,0x0a,0x20,0x40,0x67,0xb9,0x20,0x20,0x4d,0x34,0x20,0x20,
+0x00,0xef,0x58,0x00,0x00,0x02,0x67,0xe2,0x46,0x50,0x20,0x60,0x00,0x00,0x6f,0xe4,
+0x46,0x52,0x79,0x3f,0xfe,0x0c,0x67,0xe4,0x46,0x52,0x70,0x0a,0xff,0xb6,0x20,0x40,
+0x50,0x4e,0x70,0x4c,0xe0,0x00,0x20,0x60,0x00,0x00,0x6f,0xe2,0x41,0xe3,0xc1,0x00,
+0x80,0x00,0x6f,0xe4,0x46,0x52,0x79,0x20,0x7e,0x0c,0x67,0xe4,0x46,0x52,0x70,0x0a,
+0xff,0xb0,0x20,0x40,0x50,0x4e,0x70,0x41,0xe3,0x01,0x70,0x40,0x91,0x00,0x20,0x20,
+0x00,0xef,0x20,0x20,0x04,0xa5,0x58,0x00,0x00,0x05,0x67,0xe2,0x4c,0xe0,0x20,0x60,
+0x00,0x00,0x20,0x20,0x4d,0x48,0x20,0x60,0x00,0x00,0x20,0x20,0x04,0xca,0x79,0x3f,
+0x80,0x30,0x70,0x0a,0xff,0xb5,0x58,0x00,0x00,0x1d,0x20,0x40,0x50,0xa5,0x6f,0xec,
+0x40,0xa0,0xe7,0xec,0x00,0x0a,0x6f,0xec,0x00,0x40,0xe7,0xec,0x00,0x0a,0xd8,0xc0,
+0x41,0xbf,0xdf,0x20,0x00,0x10,0x20,0x40,0x67,0xd4,0x58,0x00,0x00,0x00,0xe7,0xe2,
+0x00,0x0a,0x20,0x20,0x67,0xb9,0xda,0x60,0x4c,0xe0,0xda,0x40,0x04,0xdb,0x20,0x20,
 0x4d,0x04,0x6f,0xe2,0x02,0x7b,0x79,0x20,0x7e,0x00,0x79,0x20,0x7e,0x07,0x67,0xe2,
-0x02,0x7b,0x20,0x60,0x00,0x00,0xda,0x60,0x46,0x50,0xda,0x40,0x03,0x2c,0x20,0x20,
-0x4d,0x04,0xda,0x60,0x4b,0xb1,0xda,0x40,0x4d,0x64,0x20,0x20,0x4d,0x04,0x20,0x40,
-0x56,0x4b,0x24,0x7a,0x00,0x00,0x6f,0xe2,0x0b,0x00,0x1f,0xe0,0xa2,0x01,0x20,0x40,
+0x02,0x7b,0x20,0x60,0x00,0x00,0xda,0x60,0x46,0x50,0xda,0x40,0x04,0xb9,0x20,0x20,
+0x4d,0x04,0xda,0x60,0x4c,0xe1,0xda,0x40,0x4d,0x64,0x20,0x20,0x4d,0x04,0x20,0x40,
+0x56,0x48,0x24,0x7a,0x00,0x00,0x6f,0xe2,0x0b,0x00,0x1f,0xe0,0xa2,0x01,0x20,0x40,
 0x51,0x3d,0x6f,0xe4,0x42,0x20,0xe7,0xe4,0x00,0x05,0x58,0x00,0x00,0xa1,0xe7,0xe2,
 0x00,0x05,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,0x72,0x00,0x20,0x40,0x67,0xed,0x20,0x20,
-0x50,0x1f,0xef,0xec,0x00,0x03,0x67,0xec,0x40,0xa0,0xef,0xec,0x00,0x03,0x67,0xec,
-0x41,0xd1,0xd8,0xa0,0x41,0xbf,0xdf,0x20,0x00,0x10,0x20,0x40,0x67,0xed,0x20,0x40,
-0x68,0xbe,0x20,0x40,0x00,0x5d,0x20,0x40,0x4d,0x5c,0x20,0x20,0x50,0x1f,0x6f,0xe4,
-0x02,0x60,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0x1f,0xe1,0x04,0x0f,0x1f,0xf1,
-0xfe,0x00,0xc0,0x04,0xd1,0x2d,0xc0,0x03,0xd1,0x2d,0xc0,0x05,0x03,0x7a,0xc0,0x02,
-0x83,0x84,0xc0,0x00,0x83,0x86,0xc0,0x02,0x51,0x2d,0x20,0x60,0x00,0x00,0xef,0xe4,
-0x00,0x06,0x67,0xe4,0x0a,0x96,0xc0,0x00,0x83,0x7e,0x20,0x60,0x00,0x00,0x70,0x0a,
-0xff,0xb2,0x58,0x00,0x00,0x02,0x20,0x40,0x50,0xa5,0x6f,0xe4,0x0a,0x96,0xe7,0xe4,
-0x00,0x0a,0x20,0x20,0x67,0xb9,0x20,0x40,0x03,0x7a,0x20,0x20,0x51,0x26,0x18,0x42,
-0x7e,0x00,0xc0,0x02,0xd1,0x1e,0x70,0x4b,0xb2,0x01,0xc0,0x01,0xd1,0x2d,0x70,0x4b,
-0xb2,0x00,0xc0,0x02,0x51,0x2d,0x20,0x60,0x00,0x00,0x80,0xc7,0xaa,0x55,0x40,0x00,
-0x00,0x40,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x20,0x02,0x10,0x00,0x0c,0x12,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x68,0x00,0x08,0x80,0x02,0x00,0x01,0x74,0x02,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0xaa,0x55,0x01,0x00,0x02,0x4c,0x01,0xaa,0x55,0x01,0x00,0xe9,0x4b,0x02,
-0xaa,0x55,0x01,0x00,0x01,0x4c,0x40,0xaa,0x55,0x01,0x00,0xfc,0x4b,0x00,0xaa,0x55,
-0x02,0x00,0xeb,0x4b,0xc0,0x12,0xaa,0x55,0x0a,0x00,0xa2,0x0f,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x55,0x08,0x00,0xb3,0x4b,0x00,0x48,0x5d,0x00,
-0x00,0x00,0x00,0x00,0xaa,0x55,0x04,0x00,0xe2,0x4b,0xff,0xff,0xff,0xff,0xaa,0x55,
-0x01,0x00,0x6e,0x46,0x05,0xaa,0x55,0x07,0x00,0x25,0x44,0x02,0x03,0x00,0x05,0x10,
-0x02,0x03,0xaa,0x55,0x08,0x00,0x68,0x44,0x08,0x00,0x10,0x00,0x00,0x00,0x2c,0x01,
-0xaa,0x55,0x02,0x00,0xcc,0x44,0x31,0x00,0xaa,0x55,0x01,0x00,0x78,0x44,0x17,0xaa,
-0x55,0x01,0x00,0x7a,0x44,0x17,0xaa,0x55,0x01,0x00,0x90,0x44,0x00,0xaa,0x55,0x01,
-0x00,0x5f,0x44,0x07,0xaa,0x55,0x01,0x00,0x98,0x44,0x00,0xaa,0x55,0x01,0x00,0x40,
-0x43,0x00,0xaa,0x55,0x02,0x00,0x54,0x44,0x40,0x00,0xaa,0x55,0x06,0x00,0x72,0x44,
-0x21,0x22,0x01,0x33,0x02,0x3a,0xaa,0x55,0x0f,0x00,0x81,0x43,0x0e,0x42,0x54,0x34,
-0x2e,0x32,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0xaa,0x55,0x1c,0x00,0x41,
-0x43,0x03,0x02,0x01,0x05,0x03,0x19,0xc1,0x03,0x03,0x03,0x12,0x18,0x0f,0x09,0x42,
-0x54,0x34,0x2e,0x32,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0xaa,0x55,0x11,
-0x00,0x61,0x43,0x1f,0x0f,0x09,0x42,0x54,0x34,0x2e,0x32,0x20,0x4b,0x65,0x79,0x62,
-0x6f,0x61,0x72,0x64,0xaa,0x55,0x02,0x00,0x8e,0x44,0xdf,0x48,0xaa,0x55,0x02,0x00,
-0xdf,0x48,0x00,0x00,0xaa,0x55,0x01,0x00,0x06,0x42,0x17,0xaa,0x55,0x01,0x00,0x93,
-0x40,0x00,0xaa,0x55,0x01,0x00,0x6d,0x46,0x28,0xaa,0x55,0x03,0x00,0x2d,0x46,0x02,
-0x00,0x04,0xaa,0x55,0x01,0x00,0x2c,0x46,0x01,0xaa,0x55,0x01,0x00,0x34,0x46,0x02,
-0xaa,0x55,0x01,0x00,0x54,0x46,0x01,0xaa,0x55,0x06,0x00,0xa0,0x40,0x36,0xff,0xc2,
-0x08,0x66,0x22,0xaa,0x55,0x0f,0x00,0xe7,0x44,0x0e,0x42,0x54,0x33,0x2e,0x30,0x20,
-0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0xaa,0x55,0x03,0x00,0xe4,0x41,0x0e,0x00,
-0x01,0xaa,0x55,0x01,0x00,0xe8,0x41,0x01,0xaa,0x55,0x01,0x00,0x2c,0x45,0x0a,0xaa,
-0x55,0x03,0x00,0xaa,0x40,0x40,0x25,0x00,0xaa,0x55,0x01,0x00,0x92,0x40,0x43,0xaa,
-0x55,0x01,0x00,0x5b,0x41,0x00,0xaa,0x55,0x08,0x00,0x98,0x40,0xff,0xfb,0x8f,0xfa,
-0x8b,0x85,0x59,0x83,0xaa,0x55,0x01,0x00,0xd1,0x40,0x01,0xaa,0x55,0x0e,0x00,0x49,
-0x45,0x06,0x03,0x11,0x00,0x00,0x01,0x02,0x10,0x24,0x11,0x00,0x12,0x01,0x00,0xaa,
-0x55,0x01,0x00,0x5f,0x45,0x00,0xaa,0x55,0x02,0x00,0x47,0x45,0x83,0x46,0xaa,0x55,
-0x5a,0x02,0x83,0x46,0x04,0x00,0x11,0x01,0x00,0x10,0x02,0x11,0x24,0x00,0x01,0x00,
-0x00,0x36,0x01,0x9a,0x09,0x00,0x00,0x0a,0x00,0x01,0x00,0x00,0x09,0x00,0x01,0x35,
-0x03,0x19,0x11,0x24,0x09,0x00,0x04,0x35,0x0d,0x35,0x06,0x19,0x01,0x00,0x09,0x00,
-0x11,0x35,0x03,0x19,0x00,0x11,0x09,0x00,0x05,0x35,0x03,0x19,0x10,0x02,0x09,0x00,
-0x06,0x35,0x09,0x09,0x65,0x6e,0x09,0x00,0x6a,0x09,0x01,0x00,0x09,0x00,0x09,0x35,
-0x08,0x35,0x06,0x19,0x11,0x24,0x09,0x01,0x00,0x09,0x00,0x0d,0x35,0x0f,0x35,0x0d,
-0x35,0x06,0x19,0x01,0x00,0x09,0x00,0x13,0x35,0x03,0x19,0x00,0x11,0x09,0x01,0x00,
-0x25,0x3d,0x42,0x72,0x6f,0x61,0x64,0x63,0x6f,0x6d,0x20,0x42,0x6c,0x75,0x65,0x74,
-0x6f,0x6f,0x74,0x68,0x20,0x57,0x69,0x72,0x65,0x6c,0x65,0x73,0x73,0x20,0x20,0x4b,
-0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x09,
-0x01,0x01,0x25,0x08,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x09,0x01,0x02,0x25,
-0x10,0x42,0x72,0x6f,0x61,0x64,0x63,0x6f,0x6d,0x20,0x43,0x6f,0x72,0x70,0x2e,0x20,
-0x20,0x09,0x02,0x00,0x09,0x01,0x00,0x09,0x02,0x01,0x09,0x01,0x11,0x09,0x02,0x02,
-0x08,0x40,0x09,0x02,0x03,0x08,0x21,0x09,0x02,0x04,0x28,0x01,0x09,0x02,0x05,0x28,
-0x01,0x09,0x02,0x06,0x35,0x89,0x35,0x87,0x08,0x22,0x25,0x83,0x05,0x01,0x09,0x06,
-0xa1,0x01,0x85,0x01,0x75,0x01,0x95,0x08,0x05,0x07,0x19,0xe0,0x29,0xe7,0x15,0x00,
-0x25,0x01,0x81,0x02,0x95,0x01,0x75,0x08,0x81,0x03,0x95,0x05,0x75,0x01,0x05,0x08,
-0x19,0x01,0x29,0x05,0x91,0x02,0x95,0x01,0x75,0x03,0x91,0x03,0x95,0x06,0x75,0x08,
-0x15,0x00,0x25,0xff,0x05,0x07,0x19,0x00,0x29,0xff,0x81,0x00,0xc0,0x05,0x0c,0x09,
-0x01,0xa1,0x01,0x85,0x02,0x19,0x00,0x2a,0xff,0x03,0x15,0x00,0x26,0xff,0x03,0x95,
-0x01,0x75,0x10,0x81,0x00,0xc0,0x05,0x01,0x09,0x06,0xa1,0x01,0x85,0x07,0x05,0x07,
-0x19,0xe0,0x29,0xe7,0x15,0x00,0x25,0x01,0x75,0x01,0x95,0x08,0x81,0x00,0x95,0xa8,
-0x75,0x01,0x15,0x00,0x25,0x01,0x05,0x07,0x19,0x00,0x29,0xa8,0x81,0x02,0xc0,0x09,
-0x02,0x07,0x35,0x08,0x35,0x06,0x09,0x04,0x09,0x09,0x01,0x00,0x09,0x02,0x0b,0x09,
-0x01,0x00,0x09,0x02,0x0c,0x09,0x0c,0x80,0x09,0x02,0x0d,0x28,0x00,0x09,0x02,0x0e,
-0x28,0x01,0x09,0x02,0x0f,0x09,0x03,0x18,0x09,0x02,0x10,0x09,0x00,0x00,0x03,0x10,
-0x02,0x12,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x36,0x00,0xa1,0x09,0x00,0x00,0x0a,
-0x00,0x01,0x00,0x01,0x09,0x00,0x01,0x35,0x03,0x19,0x12,0x00,0x09,0x00,0x04,0x35,
-0x0d,0x35,0x06,0x19,0x01,0x00,0x09,0x00,0x01,0x35,0x03,0x19,0x00,0x01,0x09,0x00,
-0x06,0x35,0x09,0x09,0x65,0x6e,0x09,0x00,0x6a,0x09,0x01,0x00,0x09,0x00,0x09,0x35,
-0x08,0x35,0x06,0x19,0x12,0x00,0x09,0x01,0x00,0x09,0x01,0x00,0x25,0x2f,0x42,0x72,
-0x6f,0x61,0x64,0x63,0x6f,0x6d,0x20,0x42,0x6c,0x75,0x65,0x74,0x6f,0x6f,0x74,0x68,
-0x20,0x57,0x69,0x72,0x65,0x6c,0x65,0x73,0x73,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,
-0x72,0x64,0x20,0x50,0x6e,0x50,0x20,0x53,0x65,0x72,0x76,0x65,0x72,0x09,0x01,0x01,
-0x25,0x08,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x09,0x02,0x00,0x09,0x01,0x03,
-0x09,0x02,0x01,0x09,0x04,0xe8,0x09,0x02,0x02,0x09,0x70,0x21,0x09,0x02,0x03,0x09,
-0x00,0x01,0x09,0x02,0x04,0x28,0x01,0x09,0x02,0x05,0x09,0x00,0x02,0x00,0xaa,0x55,
-0x01,0x00,0x92,0x40,0x0a,0xaa,0x55,0x03,0x00,0x14,0x42,0xf7,0x4a,0x00,0xaa,0x55,
-0x10,0x00,0xf0,0x4f,0x00,0x1c,0xff,0x1f,0x00,0x1c,0x00,0x1c,0x80,0x4c,0xe0,0x4f,
-0x80,0x4c,0x80,0x4c,0xaa,0x55,0x02,0x00,0x68,0x46,0x30,0x10,0xaa,0x55,0x01,0x00,
-0x6c,0x46,0x03,0xaa,0x55,0x01,0x00,0x6f,0x46,0x07,0xaa,0x55,0x01,0x00,0x79,0x46,
-0x00,0xaa,0x55,0x01,0x00,0x91,0x40,0x00,0xaa,0x55,0x03,0x00,0x54,0x41,0x00,0x01,
-0x08,0xaa,0x55,0x01,0x00,0x74,0x41,0x02,0xaa,0x55,0x02,0x00,0xe4,0x41,0x0e,0x00,
-0xaa,0x55,0x07,0x00,0x76,0x41,0x0f,0x84,0xf0,0x0a,0x0b,0xb2,0x32,0xaa,0x55,0x02,
-0x00,0x57,0x41,0x8b,0x0b,0xaa,0x55,0x08,0x00,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0xaa,0x55,0x02,0x00,0xbd,0x40,0x02,0x24,0xaa,0x55,0x08,0x00,0xad,
-0x40,0x40,0x00,0x00,0x02,0x32,0x00,0x00,0x02,0xaa,0x55,0x02,0x00,0xbb,0x40,0x20,
-0x00,0xaa,0x55,0x04,0x00,0xb7,0x40,0x20,0x00,0x00,0x20,0xaa,0x55,0x04,0x00,0xbf,
-0x40,0x80,0x04,0x00,0x10,0xaa,0x55,0x05,0x00,0xe2,0x44,0x08,0x0e,0x05,0x04,0x00,
-0xaa,0x55,0x02,0x00,0x02,0x42,0x30,0x1f,0xaa,0x55,0x01,0x00,0x10,0x42,0x20,0xaa,
-0x55,0x01,0x00,0xe0,0x41,0x01,0xaa,0x55,0x0f,0x00,0xa1,0x4b,0x4b,0xba,0x55,0xd0,
-0x56,0xe0,0x57,0x88,0x58,0x6c,0x59,0x10,0x07,0xff,0xff,0xaa,0x55,0x02,0x00,0xc3,
-0x40,0xa1,0x4b,0x86,0x3e
+0x50,0x1f,0x79,0x20,0x00,0x30,0xef,0xec,0x00,0x03,0x67,0xec,0x40,0xa0,0xef,0xec,
+0x00,0x03,0x67,0xec,0x41,0xd1,0xd8,0xa0,0x41,0xbf,0xdf,0x20,0x00,0x10,0x20,0x40,
+0x67,0xed,0x20,0x40,0x68,0xbe,0x20,0x40,0x00,0xef,0x20,0x40,0x4d,0x5c,0x20,0x20,
+0x50,0x1f,0x18,0x62,0x26,0x00,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,0x72,0x00,0x68,0x44,
+0x4d,0x1a,0x6f,0xe4,0x45,0x47,0x98,0x40,0x8a,0x00,0x1a,0x62,0x06,0x00,0x20,0x40,
+0x67,0xed,0x18,0xa2,0x7e,0x00,0x68,0x44,0x4d,0x1a,0x6f,0xe2,0x0b,0x00,0x98,0x40,
+0xfe,0x00,0x67,0xe4,0x4d,0x1a,0x20,0x20,0x50,0x1f,0x20,0x40,0x4d,0x62,0x20,0x20,
+0x50,0x1f,0x6f,0xe4,0x02,0x60,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0x1f,0xe1,
+0x04,0x0f,0x1f,0xf1,0xfe,0x00,0xc0,0x04,0xd1,0x2d,0xc0,0x03,0xd1,0x2d,0xc0,0x05,
+0x05,0x1b,0xc0,0x02,0x85,0x27,0xc0,0x00,0x85,0x29,0xc0,0x02,0x51,0x2d,0x20,0x60,
+0x00,0x00,0x70,0x0a,0xff,0xb2,0x6f,0xe2,0x02,0x62,0x1f,0xe0,0xff,0xff,0x20,0x40,
+0x50,0xa5,0x6f,0xe2,0x02,0x62,0x1f,0xe0,0xff,0xff,0x1f,0xe2,0x72,0x00,0x6f,0xe4,
+0x02,0x60,0x1f,0xe0,0xfe,0x01,0x1f,0xe2,0x0c,0x00,0x20,0x40,0x67,0xd4,0x20,0x20,
+0x67,0xb9,0x20,0x40,0x05,0x1b,0x20,0x20,0x51,0x26,0x18,0x42,0x7e,0x00,0xc0,0x02,
+0xd1,0x1e,0x70,0x4c,0xe2,0x01,0xc0,0x01,0xd1,0x2d,0x70,0x4c,0xe2,0x00,0xc0,0x02,
+0x51,0x2d,0x20,0x60,0x00,0x00,0x23,0xc9,0xaa,0x55,0x40,0x00,0x00,0x40,0x8a,0x00,
+0x88,0x00,0x40,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x02,
+0x10,0x00,0x0c,0x12,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x00,
+0x08,0x80,0x04,0x00,0x01,0x74,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x55,
+0x01,0x00,0xed,0x4c,0x40,0xaa,0x55,0x01,0x00,0xec,0x4c,0x00,0xaa,0x55,0x02,0x00,
+0xe4,0x4c,0xc0,0x12,0xaa,0x55,0x0a,0x00,0xa2,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0xaa,0x55,0x01,0x00,0x6e,0x46,0x05,0xaa,0x55,0x07,0x00,0x25,
+0x44,0x02,0x03,0x00,0x05,0x10,0x02,0x03,0xaa,0x55,0x08,0x00,0x68,0x44,0x08,0x00,
+0x10,0x00,0x00,0x00,0x2c,0x01,0xaa,0x55,0x02,0x00,0xcc,0x44,0x31,0x00,0xaa,0x55,
+0x01,0x00,0x78,0x44,0xe6,0xaa,0x55,0x01,0x00,0x7a,0x44,0x17,0xaa,0x55,0x01,0x00,
+0x90,0x44,0x00,0xaa,0x55,0x01,0x00,0x5f,0x44,0x07,0xaa,0x55,0x01,0x00,0x98,0x44,
+0x00,0xaa,0x55,0x01,0x00,0x40,0x43,0x00,0xaa,0x55,0x02,0x00,0x54,0x44,0x40,0x00,
+0xaa,0x55,0x06,0x00,0x72,0x44,0x21,0x22,0x01,0x33,0x02,0x3a,0xaa,0x55,0x01,0x00,
+0x81,0x43,0x00,0xaa,0x55,0x0c,0x00,0x41,0x43,0x03,0x02,0x01,0x05,0x03,0x19,0xc1,
+0x03,0x03,0x03,0x12,0x18,0xaa,0x55,0x01,0x00,0x61,0x43,0x1f,0xaa,0x55,0x02,0x00,
+0x8e,0x44,0x3f,0x49,0xaa,0x55,0x02,0x00,0x3f,0x49,0x00,0x00,0xaa,0x55,0x01,0x00,
+0x06,0x42,0x17,0xaa,0x55,0x01,0x00,0x93,0x40,0x00,0xaa,0x55,0x01,0x00,0x6d,0x46,
+0x28,0xaa,0x55,0x03,0x00,0x2d,0x46,0x02,0x00,0x04,0xaa,0x55,0x01,0x00,0x2c,0x46,
+0x01,0xaa,0x55,0x01,0x00,0x34,0x46,0x02,0xaa,0x55,0x01,0x00,0x54,0x46,0x01,0xaa,
+0x55,0x06,0x00,0xa0,0x40,0x36,0xff,0xc2,0x08,0x66,0x22,0xaa,0x55,0x0f,0x00,0xe7,
+0x44,0x0e,0x42,0x54,0x33,0x2e,0x30,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,
+0xaa,0x55,0x03,0x00,0xe4,0x41,0x0e,0x00,0x01,0xaa,0x55,0x01,0x00,0xe8,0x41,0x01,
+0xaa,0x55,0x01,0x00,0x2c,0x45,0x0a,0xaa,0x55,0x03,0x00,0xaa,0x40,0x40,0x25,0x00,
+0xaa,0x55,0x01,0x00,0x92,0x40,0x43,0xaa,0x55,0x01,0x00,0x5b,0x41,0x00,0xaa,0x55,
+0x08,0x00,0x98,0x40,0xff,0xfb,0x8f,0xfa,0x8b,0x85,0x59,0x83,0xaa,0x55,0x01,0x00,
+0xd1,0x40,0x01,0xaa,0x55,0x0e,0x00,0x49,0x45,0x06,0x03,0x11,0x00,0x00,0x01,0x02,
+0x10,0x24,0x11,0x00,0x12,0x01,0x00,0xaa,0x55,0x01,0x00,0x5f,0x45,0x00,0xaa,0x55,
+0x02,0x00,0x47,0x45,0x83,0x46,0xaa,0x55,0x5a,0x02,0x83,0x46,0x04,0x00,0x11,0x01,
+0x00,0x10,0x02,0x11,0x24,0x00,0x01,0x00,0x00,0x36,0x01,0x9a,0x09,0x00,0x00,0x0a,
+0x00,0x01,0x00,0x00,0x09,0x00,0x01,0x35,0x03,0x19,0x11,0x24,0x09,0x00,0x04,0x35,
+0x0d,0x35,0x06,0x19,0x01,0x00,0x09,0x00,0x11,0x35,0x03,0x19,0x00,0x11,0x09,0x00,
+0x05,0x35,0x03,0x19,0x10,0x02,0x09,0x00,0x06,0x35,0x09,0x09,0x65,0x6e,0x09,0x00,
+0x6a,0x09,0x01,0x00,0x09,0x00,0x09,0x35,0x08,0x35,0x06,0x19,0x11,0x24,0x09,0x01,
+0x00,0x09,0x00,0x0d,0x35,0x0f,0x35,0x0d,0x35,0x06,0x19,0x01,0x00,0x09,0x00,0x13,
+0x35,0x03,0x19,0x00,0x11,0x09,0x01,0x00,0x25,0x3d,0x42,0x72,0x6f,0x61,0x64,0x63,
+0x6f,0x6d,0x20,0x42,0x6c,0x75,0x65,0x74,0x6f,0x6f,0x74,0x68,0x20,0x57,0x69,0x72,
+0x65,0x6c,0x65,0x73,0x73,0x20,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x09,0x01,0x01,0x25,0x08,0x4b,0x65,0x79,0x62,
+0x6f,0x61,0x72,0x64,0x09,0x01,0x02,0x25,0x10,0x42,0x72,0x6f,0x61,0x64,0x63,0x6f,
+0x6d,0x20,0x43,0x6f,0x72,0x70,0x2e,0x20,0x20,0x09,0x02,0x00,0x09,0x01,0x00,0x09,
+0x02,0x01,0x09,0x01,0x11,0x09,0x02,0x02,0x08,0x40,0x09,0x02,0x03,0x08,0x21,0x09,
+0x02,0x04,0x28,0x01,0x09,0x02,0x05,0x28,0x01,0x09,0x02,0x06,0x35,0x89,0x35,0x87,
+0x08,0x22,0x25,0x83,0x05,0x01,0x09,0x06,0xa1,0x01,0x85,0x01,0x75,0x01,0x95,0x08,
+0x05,0x07,0x19,0xe0,0x29,0xe7,0x15,0x00,0x25,0x01,0x81,0x02,0x95,0x01,0x75,0x08,
+0x81,0x03,0x95,0x05,0x75,0x01,0x05,0x08,0x19,0x01,0x29,0x05,0x91,0x02,0x95,0x01,
+0x75,0x03,0x91,0x03,0x95,0x06,0x75,0x08,0x15,0x00,0x25,0xff,0x05,0x07,0x19,0x00,
+0x29,0xff,0x81,0x00,0xc0,0x05,0x0c,0x09,0x01,0xa1,0x01,0x85,0x02,0x19,0x00,0x2a,
+0xff,0x03,0x15,0x00,0x26,0xff,0x03,0x95,0x01,0x75,0x10,0x81,0x00,0xc0,0x05,0x01,
+0x09,0x06,0xa1,0x01,0x85,0x07,0x05,0x07,0x19,0xe0,0x29,0xe7,0x15,0x00,0x25,0x01,
+0x75,0x01,0x95,0x08,0x81,0x00,0x95,0xa8,0x75,0x01,0x15,0x00,0x25,0x01,0x05,0x07,
+0x19,0x00,0x29,0xa8,0x81,0x02,0xc0,0x09,0x02,0x07,0x35,0x08,0x35,0x06,0x09,0x04,
+0x09,0x09,0x01,0x00,0x09,0x02,0x0b,0x09,0x01,0x00,0x09,0x02,0x0c,0x09,0x0c,0x80,
+0x09,0x02,0x0d,0x28,0x00,0x09,0x02,0x0e,0x28,0x01,0x09,0x02,0x0f,0x09,0x03,0x18,
+0x09,0x02,0x10,0x09,0x00,0x00,0x03,0x10,0x02,0x12,0x00,0x00,0x01,0x00,0x01,0x00,
+0x01,0x36,0x00,0xa1,0x09,0x00,0x00,0x0a,0x00,0x01,0x00,0x01,0x09,0x00,0x01,0x35,
+0x03,0x19,0x12,0x00,0x09,0x00,0x04,0x35,0x0d,0x35,0x06,0x19,0x01,0x00,0x09,0x00,
+0x01,0x35,0x03,0x19,0x00,0x01,0x09,0x00,0x06,0x35,0x09,0x09,0x65,0x6e,0x09,0x00,
+0x6a,0x09,0x01,0x00,0x09,0x00,0x09,0x35,0x08,0x35,0x06,0x19,0x12,0x00,0x09,0x01,
+0x00,0x09,0x01,0x00,0x25,0x2f,0x42,0x72,0x6f,0x61,0x64,0x63,0x6f,0x6d,0x20,0x42,
+0x6c,0x75,0x65,0x74,0x6f,0x6f,0x74,0x68,0x20,0x57,0x69,0x72,0x65,0x6c,0x65,0x73,
+0x73,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x20,0x50,0x6e,0x50,0x20,0x53,
+0x65,0x72,0x76,0x65,0x72,0x09,0x01,0x01,0x25,0x08,0x4b,0x65,0x79,0x62,0x6f,0x61,
+0x72,0x64,0x09,0x02,0x00,0x09,0x01,0x03,0x09,0x02,0x01,0x09,0x04,0xe8,0x09,0x02,
+0x02,0x09,0x70,0x21,0x09,0x02,0x03,0x09,0x00,0x01,0x09,0x02,0x04,0x28,0x01,0x09,
+0x02,0x05,0x09,0x00,0x02,0x00,0xaa,0x55,0x01,0x00,0x92,0x40,0x0a,0xaa,0x55,0x03,
+0x00,0x14,0x42,0xaf,0x4c,0x00,0xaa,0x55,0x10,0x00,0xf0,0x4f,0x00,0x1c,0xff,0x1f,
+0x00,0x1c,0x00,0x1c,0x30,0x4d,0xe0,0x4f,0x30,0x4d,0x30,0x4d,0xaa,0x55,0x02,0x00,
+0x68,0x46,0x30,0x11,0xaa,0x55,0x01,0x00,0x6c,0x46,0x03,0xaa,0x55,0x01,0x00,0x6f,
+0x46,0x07,0xaa,0x55,0x01,0x00,0x79,0x46,0x00,0xaa,0x55,0x01,0x00,0x91,0x40,0x00,
+0xaa,0x55,0x03,0x00,0x54,0x41,0x00,0x01,0x08,0xaa,0x55,0x01,0x00,0x74,0x41,0x02,
+0xaa,0x55,0x02,0x00,0xe4,0x41,0x10,0x00,0xaa,0x55,0x07,0x00,0x76,0x41,0x0f,0x84,
+0xf0,0x0a,0x0b,0xb0,0x30,0xaa,0x55,0x02,0x00,0x57,0x41,0x89,0x0b,0xaa,0x55,0x08,
+0x00,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x55,0x02,0x00,0xbd,
+0x40,0x02,0x24,0xaa,0x55,0x08,0x00,0xad,0x40,0x40,0x00,0x00,0x02,0x32,0x00,0x00,
+0x02,0xaa,0x55,0x02,0x00,0xbb,0x40,0x20,0x00,0xaa,0x55,0x04,0x00,0xb7,0x40,0x20,
+0x00,0xff,0xff,0xaa,0x55,0x04,0x00,0xbf,0x40,0x80,0x04,0x00,0x10,0xaa,0x55,0x05,
+0x00,0xe2,0x44,0x08,0x0e,0x05,0x04,0x00,0xaa,0x55,0x02,0x00,0x02,0x42,0x30,0x1f,
+0xaa,0x55,0x01,0x00,0x10,0x42,0x20,0xaa,0x55,0x01,0x00,0xe0,0x41,0x01,0xaa,0x55,
+0x0f,0x00,0xd1,0x4c,0x4b,0xba,0x55,0xd0,0x56,0xe0,0x57,0x88,0x58,0x6c,0x59,0x10,
+0x07,0xff,0xff,0xaa,0x55,0x02,0x00,0xc3,0x40,0xd1,0x4c,0x99,0xce
 };
Index: rongyuan/output/eeprom.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/output/eeprom.dat	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/output/eeprom.dat	(working copy)
@@ -2,696 +2,1416 @@
 02
 aa
 55
-4e
-12
+c2
+14
 c2
 84
 00
-0f
+15
 c0
 00
-81
-8b
+82
+3d
 c0
 01
-81
-91
+82
+43
+c0
+03
+80
+60
+c0
+09
+80
+63
+c0
+0b
+80
+66
+c0
+13
+00
+6e
+c0
+1a
+00
+93
+c0
+22
+80
+52
 c0
 42
-81
-9b
+82
+4d
 c0
 44
-81
-c1
+82
+73
 c0
 4a
-01
-71
+02
+23
 c0
 51
-01
-f6
+02
+a8
 c0
 51
-81
-7c
+82
+2e
 c0
 54
-81
-7f
+82
+31
 c0
 56
-01
-ff
+02
+b1
 c0
 5c
 00
-30
+a9
 c0
 5d
-80
-91
+81
+17
 c0
 5e
 01
-15
+c7
 c0
 5f
-04
-72
+05
+0f
 20
 20
 4a
 8b
 c0
 01
-83
-8c
+84
+29
 c0
 02
-83
-83
+84
+20
 c0
 03
-01
-bc
+02
+6e
 c0
 09
-83
-d5
+84
+72
 c0
 0f
-83
-98
+84
+35
 c0
 11
-03
-aa
+04
+47
 c0
 18
 00
-2a
+a3
 c0
 1e
 01
-2d
+df
 c0
 1d
 01
-37
+e9
 c0
 1e
 81
-48
+f9
 c0
 1f
-01
-55
+02
+07
 c0
 20
-81
-67
+82
+19
+c0
+24
+80
+25
 c0
 4c
-81
-6d
+82
+1f
 c0
 51
 00
-1e
+97
 20
 20
 4a
 8b
-18
+19
 42
 7e
 00
-20
-7a
-00
-00
-c0
-13
+67
+e4
+4f
+f6
+70
+40
+91
 00
-22
 20
-20
-7b
-d4
-70
-43
 40
-01
-70
-44
-56
-02
+00
+38
 6f
-e4
-46
-52
+e2
+80
+43
+c3
+83
+80
+00
 79
 20
 7e
-0b
+07
 67
-e4
-46
-52
+e2
+80
+43
 20
 60
 00
 00
-70
-0a
-95
-26
+6f
+ec
+4d
+1d
+67
+ec
+00
+a1
+1c
+e2
+7e
+00
 20
+3a
+00
+3c
+20
+40
+00
+34
 20
-7b
-b4
 20
 40
-5b
-86
+02
 20
+40
+7d
+79
+70
+40
+91
+00
 20
+40
 00
-2c
-da
-60
-43
-81
-da
+38
 20
-43
-62
 20
-40
-5b
-a5
+67
+bc
+6f
+e2
+89
+73
+79
+20
+7e
+06
+67
+e2
+89
+73
 20
 60
 00
 00
-58
+6f
+e2
+81
+26
+c2
+80
 00
+43
+6f
+ec
 00
-58
-67
-e4
+a1
+68
+4c
+81
+0e
+98
 41
-f6
-58
+7e
 00
+24
+5a
 00
-79
-67
-e4
-41
-fe
+34
+20
+20
+40
+02
+20
+40
+00
+45
+20
+20
+40
+02
 58
+ff
+ff
+ff
+68
+46
+81
+0e
+98
+42
+fe
 00
+68
+46
 00
-42
-67
-e4
+a1
+98
 41
-f4
-58
+7e
 00
+24
+3a
 00
-7d
-67
-e4
-41
-fa
+34
 58
+ff
+ff
+ff
+68
+46
+81
+11
+98
+42
+fe
 00
+68
+46
 00
-8e
-67
-e4
+a4
+98
 41
-ea
-58
+7e
 00
+24
+3a
 00
-8f
-67
-e4
-41
-f2
+34
 20
-40
-03
-7d
+60
+00
+00
 20
 40
-03
-48
+60
+e5
 20
 40
-4d
-af
-20
+44
+55
+67
+e2
+00
+46
+58
+00
+00
+00
+67
+e4
+02
+59
+58
+00
+0e
 40
-4d
-bc
+67
+e4
+00
+51
+6f
+e2
+00
+30
+79
 20
-40
+7e
+00
+67
+e2
+00
+30
+70
+00
+4b
+00
+70
+00
 4c
-2a
+00
+70
+00
+a0
+00
 20
 20
-50
-4d
+4a
+87
 20
 40
-50
-d3
-20
 40
-56
-48
-24
-7a
+59
+70
 00
+8e
+07
+20
+60
+00
+00
+58
 00
-6f
-e4
-4f
-fc
-68
-44
-4f
-fe
-98
-46
-7c
 00
-20
-62
-80
 00
-20
-40
 67
-f7
-ef
-e2
+e8
 00
+f0
+20
+20
+40
+ed
+2c
+20
+06
 03
-c0
-80
+24
+60
 80
-56
-ef
+00
+6f
 e2
 00
-03
+8e
+1f
+e0
+ff
+ff
 67
 e2
-0a
-ff
-e8
-42
 00
-03
-18
-62
-22
+8e
+20
+61
 00
-60
-42
-0b
 00
 70
-0b
-01
-01
+00
+8e
+07
+20
+20
+41
+1c
 20
 40
-4e
-5a
-6f
-e2
-0b
-01
-c1
+41
+c5
+24
+74
+00
 00
+78
+54
+7c
 00
+70
 00
+11
 20
+79
+3f
+80
+0b
+79
+3f
+80
+2f
 20
+40
+4a
 4e
-55
 20
 40
-50
-7e
-20
-20
-4e
-51
+42
+e2
+c5
+05
+80
+7b
+20
+40
+44
+51
+24
+3a
+00
+74
+c5
+17
+80
+84
+20
+20
+41
+e8
+20
+40
+4a
+4c
+d8
+20
+00
+10
+20
+40
+42
+d8
+79
+20
+00
+2f
+79
+3f
+80
+0b
+6f
+e2
+00
+77
+98
+00
+08
+00
+70
+00
+11
+02
+20
+20
+00
+74
+6f
+e8
+01
+63
+1f
+e0
+fe
+08
+67
+e8
+01
+63
+20
+20
+41
+f4
+6f
+e2
+00
+30
+79
+3f
+fe
+03
+67
+e2
+00
+30
+20
+40
+41
+10
+70
+46
+51
+00
+20
+20
+43
+c5
+da
+60
+00
+90
+20
+20
+42
+39
+c2
+80
+42
+62
+18
+00
+7c
+00
+20
+60
+00
+00
+6f
+e2
+00
+4c
+79
+3f
+fe
+02
+67
+e2
+00
+4c
+20
+20
+43
+2f
+18
+42
+7e
+00
+20
+7a
+00
+00
+c0
+13
+00
+9b
+20
+20
+7b
+d4
+70
+43
+40
+01
+70
+44
+56
+02
+6f
+e4
+46
+52
+79
+20
+7e
+0b
+67
+e4
+46
+52
+20
+60
+00
+00
+70
+0a
+95
+26
+20
+20
+7b
+b4
+20
+40
+5b
+86
+20
+20
+00
+a5
+da
+60
+43
+81
+da
+20
+43
+62
+20
+40
+5b
+a5
+20
+60
+00
+00
+58
+00
+00
+d0
+67
+e4
+41
+f6
+58
+00
+00
+f1
+67
+e4
+41
+fe
+58
+00
+00
+ba
+67
+e4
+41
+f4
+58
+00
+00
+fc
+67
+e4
+41
+fa
+58
+00
+01
+0b
+67
+e4
+41
+ea
+58
+00
+01
+15
+67
+e4
+41
+f2
+20
+40
+04
+1a
+20
+40
+4d
+af
+20
+40
+4d
+bc
+20
+40
+4c
+2a
+20
+20
+50
+4d
+20
+40
+50
+d3
+20
+40
+56
+48
+24
+7a
+00
+00
+6f
+e4
+4f
+fc
+68
+44
+4f
+fe
+98
+46
+7c
+00
+20
+62
+80
+00
+20
+40
+67
+f7
+ef
+e2
+00
+03
+c0
+80
+80
+ce
+ef
+e2
+00
+03
+67
+e2
+0a
+ff
+e8
+42
+00
+03
+18
+62
+22
+00
+60
+42
+0b
+00
+70
+0b
+01
+01
+20
+40
+4e
+5a
+6f
+e2
+0b
+01
+c1
+00
+00
+00
+20
+20
+4e
+55
+20
+40
+50
+7e
+20
+20
+4e
+51
+1a
+62
+7e
+00
+c0
+00
+84
+94
+c0
+01
+04
+97
+c0
+02
+04
+a5
+c0
+02
+84
+ae
+c0
+03
+04
+af
+c0
+03
+84
+b2
+c0
+09
+04
+b9
+c0
+09
+84
+c3
+c0
+13
+84
+c4
+c0
+17
+04
+c7
+c0
+1e
+84
+c8
+c0
+0c
+04
+c9
+c0
+14
+84
+87
+c0
+05
+80
+e0
+20
+20
+4d
+df
+20
+60
+00
+00
+20
+40
+4d
+d7
+6f
+e4
+40
+42
+1f
+e3
+7e
+00
+68
+44
+41
+e4
+98
+46
+7c
+00
+20
+20
+4d
+91
+6f
+e2
+46
+79
+c3
+82
+80
+00
+6f
+e4
+4f
+fc
+68
+44
+4f
+fe
+98
+46
+7c
+00
+24
+42
+d0
+da
+20
+20
+4d
+87
+20
+60
+00
+00
+20
+40
+4d
+6b
+20
+20
+4d
+73
+20
+40
+00
+f6
+20
+40
+04
+d8
+20
+40
+04
+e0
+20
+40
+04
+e3
+20
+60
+00
+00
+6f
+e8
+4d
+23
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+67
+e8
+4d
+23
+24
+7a
+00
+00
+20
+20
+00
+34
+20
+40
+4f
+11
+20
+74
+00
+00
 1a
-62
+22
+7e
+00
+67
+e4
+46
+71
+1a
+42
 7e
 00
+67
+e2
+46
+70
+68
+44
+04
+74
+60
+44
+46
+73
+6f
+e2
+04
+9e
+20
+20
+50
+42
+e8
+42
+00
+11
+58
+00
+00
+01
+67
+e2
+0a
+96
+e0
+42
+00
+05
+20
+20
+05
+1b
+6f
+e2
+4f
+ef
+c0
+00
+81
+12
+6f
+e2
+44
+96
+c0
+80
+01
+10
+20
+20
+4d
+4d
+c0
+7f
+cd
+4d
+20
+20
+01
+12
+20
+40
+00
+38
+20
+40
+67
+bc
+20
+20
+4d
+4b
+20
+20
+01
+16
+20
+20
+4d
+cb
+6f
+e2
+0a
+ff
+c0
+08
+81
+ae
+c0
+0a
+81
+b6
+c0
+13
+81
+39
+c0
+06
+01
+bb
+c0
+58
+01
+c4
+c0
+58
+84
+f3
+c0
+50
+01
+8e
 c0
-00
-83
-f7
+01
+01
+73
 c0
+3b
 01
-03
-fa
+5f
+c0
+1a
+01
+ac
+c0
+64
+82
+bb
 c0
+60
 02
-04
-08
+b2
+c0
+60
+82
+b7
 c0
+61
 02
-84
-10
+b9
 c0
-03
-04
-11
+61
+82
 c0
-03
-84
-14
 c0
-09
-04
-1d
+62
+02
+c4
 c0
-09
-84
-26
+62
+82
+c7
 c0
-13
-84
-27
+64
+02
+d8
 c0
-17
-04
-2a
+63
+02
+dd
 c0
-1e
-84
-2b
+63
+82
+e4
 c0
-0c
-04
-2c
+78
+02
+ef
 c0
-14
-83
-ea
+65
+02
+e8
 c0
+59
+84
+ff
+c0
+5a
 05
-80
-68
+0d
+c0
+7f
+81
+36
+c0
+50
+81
+4a
+c0
 20
+01
+3a
+c0
+7f
+81
+36
+c0
+3c
+81
+47
 20
-4d
-df
 20
-60
-00
+4e
+5c
+ef
+e2
 00
-20
-40
-4d
-d7
-6f
-e4
+03
+67
+e2
 40
-42
-1f
-e3
-7e
-00
-68
-44
-41
-e4
-98
-46
-7c
-00
-20
-20
-4d
 91
-6f
-e2
-46
-79
-c3
-82
-80
-00
-6f
-e4
-4f
-fc
-68
-44
-4f
-fe
-98
-46
-7c
-00
-24
-42
-d0
-da
-20
-20
-4d
-87
 20
 60
 00
 00
 20
-40
-4d
-6b
-20
 20
 4d
-73
-20
-40
+85
+ef
+e2
+00
+03
+68
+48
+41
+79
+79
+3a
 04
+10
+79
 3a
-20
-40
 04
+18
+60
+48
+41
+79
+68
 42
-20
-40
+41
+57
+79
+3a
 04
-45
-20
-60
-00
-00
-20
-40
-4f
-11
-20
-74
-00
 00
-1a
-22
-7e
+60
+42
+41
+57
+ef
+ec
 00
+03
 67
-e4
-46
-71
-1a
-42
-7e
+ec
 00
+a1
 67
-e2
-46
-70
-68
-44
-04
-74
-60
-44
-46
-73
+ec
+4d
+1d
 20
 40
-5b
-6c
-24
-3a
-4a
-8b
-6f
-e2
-04
-9e
+4b
+e3
 20
 20
 50
-42
+1f
+ef
 e8
-42
 00
-11
-58
+03
+67
+e8
+4d
+23
+20
+20
+50
+1f
+78
+56
+7c
 00
+e8
+42
 00
+03
+20
+40
 01
-67
-e2
+57
+24
+36
+50
+1c
+18
+c2
 0a
-96
+00
+1a
+22
+06
+00
+18
+60
+86
+02
+6f
+e2
+0b
+00
+1f
 e0
-42
+ff
+fe
+e7
+e2
 00
 05
+1f
+e2
+72
+00
 20
+40
+67
+ed
 20
-04
-7e
 20
+50
+1f
+78
+56
+7c
+00
 20
+40
+5b
 4d
-bd
 20
+22
+81
+5b
 20
+60
 00
-90
-20
-20
-4d
-c8
-6f
-e2
-0a
-ff
-c0
-08
-80
-fa
-c0
-0a
-81
-02
-c0
-13
-81
-10
-c0
-06
-01
-07
-c0
-58
-01
-12
-c0
-58
-84
-57
-c0
-50
 00
-da
-c0
-01
+78
+36
+7c
 00
-bf
-c0
-3b
+ef
+e2
 00
-ab
+06
+98
 c0
-1a
+8c
 00
-f8
-c0
-64
-82
-09
-c0
+20
 60
-02
 00
-c0
-60
-82
-05
-c0
-61
-02
-07
-c0
-61
-82
-0e
-c0
-62
-02
-12
-c0
-62
-82
-16
-c0
-64
-02
-27
-c0
-63
-02
-2c
-c0
-63
-82
-33
-c0
-78
-02
-3e
-c0
-65
-02
-37
-c0
-59
-84
-62
-c0
-5a
-04
-70
-20
-20
-4e
-5c
+00
 20
 40
-00
-b4
+01
+68
 18
 c0
 8d
@@ -766,8 +1486,8 @@
 00
 20
 20
-00
-b6
+01
+6a
 6f
 e2
 0b
@@ -814,8 +1534,8 @@
 00
 24
 20
-80
-ce
+81
+82
 68
 42
 46
@@ -850,8 +1570,8 @@
 02
 20
 20
-80
-d5
+81
+89
 20
 20
 4d
@@ -871,7 +1591,7 @@
 c0
 01
 00
-28
+a1
 20
 60
 00
@@ -886,24 +1606,24 @@
 00
 20
 20
-80
-e2
+81
+96
 2f
 ef
 fe
 01
 20
 20
-80
-e6
+81
+9a
 2f
 ef
 fe
 02
 20
 20
-80
-ef
+81
+a3
 20
 20
 50
@@ -1079,7 +1799,7 @@
 c0
 01
 81
-0e
+c2
 20
 20
 50
@@ -1092,14 +1812,6 @@
 20
 4f
 20
-20
-40
-50
-1f
-20
-20
-4d
-85
 6f
 e4
 46
@@ -1107,7 +1819,7 @@
 c2
 81
 04
-48
+e6
 20
 20
 50
@@ -1163,7 +1875,7 @@
 20
 3a
 01
-29
+db
 e8
 48
 00
@@ -1179,7 +1891,7 @@
 24
 22
 81
-29
+db
 ef
 e2
 00
@@ -1191,7 +1903,7 @@
 20
 20
 01
-29
+db
 70
 46
 7a
@@ -1219,7 +1931,7 @@
 c0
 19
 81
-31
+e3
 20
 20
 61
@@ -1255,11 +1967,11 @@
 c0
 08
 01
-3e
+f0
 c0
 0b
 81
-44
+f6
 20
 20
 60
@@ -1287,7 +1999,7 @@
 20
 21
 01
-42
+f4
 20
 20
 62
@@ -1300,10 +2012,6 @@
 20
 61
 34
-20
-20
-62
-d2
 6f
 e4
 05
@@ -1327,7 +2035,7 @@
 c0
 05
 81
-4c
+fd
 20
 20
 61
@@ -1336,6 +2044,10 @@
 40
 61
 df
+79
+3f
+80
+30
 6f
 e2
 00
@@ -1386,28 +2098,28 @@
 00
 c2
 83
-81
-5b
+82
+0d
 20
 20
 63
 f2
 c0
 42
-01
-5e
+02
+10
 c0
 41
-81
-61
+82
+13
 20
 20
 64
 21
 20
 40
-01
-64
+02
+16
 6f
 e2
 00
@@ -1418,8 +2130,8 @@
 7b
 20
 40
-01
-64
+02
+16
 6f
 e2
 00
@@ -1518,8 +2230,8 @@
 00
 20
 40
-01
-88
+02
+3a
 20
 20
 4a
@@ -1530,8 +2242,8 @@
 00
 20
 40
-01
-87
+02
+39
 20
 20
 4a
@@ -1562,8 +2274,8 @@
 00
 20
 40
-01
-87
+02
+39
 20
 20
 4b
@@ -1594,8 +2306,8 @@
 d7
 20
 40
-01
-8f
+02
+41
 20
 20
 40
@@ -1611,15 +2323,15 @@
 20
 40
 02
-37
+e8
 20
 40
 03
-11
+ae
 20
 40
 03
-0f
+ac
 20
 20
 40
@@ -1650,8 +2362,8 @@
 77
 20
 30
-81
-ab
+82
+5d
 70
 89
 55
@@ -1682,28 +2394,28 @@
 df
 c0
 00
-01
-a9
+02
+5b
 c0
 00
-81
-b9
+82
+6b
 c0
 01
-01
-a9
+02
+5b
 c0
 01
-81
-b9
+82
+6b
 c0
 02
-01
-b9
+02
+6b
 c0
 10
-01
-b9
+02
+6b
 70
 89
 55
@@ -1778,24 +2490,24 @@
 c0
 20
 20
-01
-ab
+02
+5d
 20
 40
 57
 af
 20
 40
-01
-bf
+02
+71
 20
 20
 58
 a7
 20
 36
-81
-c6
+82
+78
 20
 20
 57
@@ -1886,8 +2598,8 @@
 4c
 c0
 01
-01
-dd
+02
+8f
 c0
 01
 c9
@@ -1898,16 +2610,16 @@
 58
 c0
 05
-01
-e1
+02
+93
 c0
 07
-81
-e8
+82
+9a
 c0
 0a
-01
-ef
+02
+a1
 c0
 10
 49
@@ -2063,7 +2775,7 @@
 20
 3a
 02
-04
+b6
 20
 20
 49
@@ -2078,8 +2790,8 @@
 2d
 20
 20
-02
-81
+03
+32
 79
 20
 00
@@ -2121,8 +2833,8 @@
 00
 00
 70
-4c
-a3
+4d
+16
 01
 ef
 e2
@@ -2131,11 +2843,7 @@
 67
 e2
 4c
-60
-70
-4c
-a3
-01
+e7
 20
 60
 00
@@ -2147,15 +2855,15 @@
 67
 e8
 4c
-61
+e8
 20
 20
 02
-19
+ca
 67
 e8
 4c
-61
+e8
 da
 20
 00
@@ -2167,7 +2875,7 @@
 d8
 c0
 4c
-61
+e8
 ef
 e2
 00
@@ -2179,7 +2887,7 @@
 c2
 00
 02
-1d
+ce
 1a
 22
 7e
@@ -2187,15 +2895,15 @@
 67
 e4
 4c
-67
+ee
 6f
 e2
 4c
-67
+ee
 68
 42
 4c
-68
+ef
 98
 40
 fe
@@ -2203,7 +2911,7 @@
 67
 e2
 4c
-69
+f0
 20
 60
 00
@@ -2219,11 +2927,11 @@
 67
 e2
 4c
-81
+f4
 d8
 a0
 4c
-82
+f5
 20
 20
 67
@@ -2234,8 +2942,8 @@
 03
 67
 e2
-4c
-a4
+4d
+17
 ef
 e2
 00
@@ -2247,7 +2955,7 @@
 67
 e4
 4c
-5c
+e4
 20
 60
 00
@@ -2263,7 +2971,7 @@
 67
 e2
 4c
-65
+ec
 20
 60
 00
@@ -2279,7 +2987,7 @@
 20
 40
 03
-26
+c3
 58
 00
 00
@@ -2307,7 +3015,7 @@
 c0
 00
 82
-42
+f3
 79
 3f
 80
@@ -2322,8 +3030,8 @@
 03
 67
 e2
-4c
-a6
+4d
+19
 ef
 e2
 00
@@ -2359,7 +3067,7 @@
 6f
 e2
 4c
-60
+e7
 1f
 ed
 84
@@ -2435,11 +3143,11 @@
 68
 42
 4c
-60
+e7
 20
 20
-01
-c1
+02
+73
 20
 40
 57
@@ -2447,7 +3155,7 @@
 6f
 e8
 4c
-61
+e8
 98
 00
 12
@@ -2455,11 +3163,11 @@
 20
 40
 02
-48
+f9
 20
 40
-02
-5e
+03
+0f
 79
 20
 2a
@@ -2503,7 +3211,7 @@
 6f
 e2
 4c
-69
+f0
 08
 00
 86
@@ -2534,8 +3242,8 @@
 08
 c2
 00
-02
-76
+03
+27
 78
 24
 7c
@@ -2570,56 +3278,52 @@
 00
 70
 4c
-5f
+e6
 00
 20
 40
-02
-97
+03
+47
 24
 37
-82
-88
+83
+38
 20
 40
-02
-f0
+03
+a1
 20
 40
-02
-e9
-70
-4c
-a9
-00
+03
+9a
 20
 60
 00
 00
 6f
 e2
-4c
-a4
+4d
+17
 68
 42
 4c
-5f
+e6
 98
 46
 7c
 00
 20
 22
-82
-ec
+83
+9d
 24
 21
-02
-ec
+03
+9d
 6f
 e2
 4c
-5f
+e6
 1f
 e0
 fe
@@ -2627,11 +3331,11 @@
 67
 e2
 4c
-5f
+e6
 20
 20
-02
-82
+03
+33
 6f
 e2
 0b
@@ -2662,20 +3366,20 @@
 00
 20
 40
-02
-91
+03
+41
 20
 40
-02
-61
+03
+12
 6f
 e2
 4c
-65
+ec
 c0
 00
-82
-a5
+83
+55
 18
 00
 2a
@@ -2683,7 +3387,7 @@
 6f
 e8
 4c
-61
+e8
 98
 00
 12
@@ -2702,12 +3406,12 @@
 21
 20
 40
-02
-af
+03
+5f
 20
 57
-82
-52
+83
+02
 20
 60
 00
@@ -2722,8 +3426,8 @@
 00
 20
 20
+03
 02
-52
 20
 40
 57
@@ -2731,7 +3435,7 @@
 6f
 e8
 4c
-61
+e8
 98
 00
 12
@@ -2743,7 +3447,7 @@
 68
 42
 4c
-60
+e7
 20
 40
 49
@@ -2755,7 +3459,7 @@
 20
 40
 02
-48
+f9
 78
 26
 fc
@@ -2775,7 +3479,7 @@
 6f
 e4
 4c
-5c
+e4
 98
 00
 36
@@ -2786,8 +3490,8 @@
 00
 24
 2c
+03
 02
-51
 78
 23
 fc
@@ -2807,19 +3511,19 @@
 67
 e2
 4c
-6a
+f1
 68
 42
 4c
-69
+f0
 98
 46
 7c
 00
 24
 22
-82
-52
+83
+02
 09
 80
 00
@@ -2838,8 +3542,8 @@
 1f
 20
 22
-82
-c9
+83
+79
 09
 80
 00
@@ -2854,8 +3558,8 @@
 05
 c2
 00
-02
-c5
+03
+75
 09
 80
 00
@@ -2874,8 +3578,12 @@
 05
 20
 23
+03
 02
-52
+20
+40
+49
+ba
 78
 37
 fc
@@ -2906,16 +3614,16 @@
 00
 20
 40
-02
-da
+03
+8b
 24
 37
-82
-e9
+83
+9a
 20
 40
-02
-f0
+03
+a1
 78
 57
 fc
@@ -2926,16 +3634,16 @@
 00
 20
 40
-02
-e9
+03
+9a
 78
 57
 fc
 00
 20
 40
-02
-a8
+03
+58
 24
 77
 80
@@ -2943,27 +3651,27 @@
 6f
 e2
 4c
-65
+ec
 c0
 00
-82
-52
+83
+02
 20
 40
-02
-e3
+03
+94
 20
 40
-02
-61
+03
+12
 20
 20
+03
 02
-52
 6f
 e2
 4c
-81
+f4
 1f
 e0
 fe
@@ -2975,7 +3683,7 @@
 d8
 c0
 4c
-81
+f4
 d8
 a0
 0b
@@ -3025,13 +3733,25 @@
 72
 1f
 1f
-e2
-72
+22
+7e
 00
+1f
+e0
+fe
+01
 20
 40
 50
 a5
+6f
+e2
+00
+18
+e7
+e2
+00
+0a
 d8
 c0
 0b
@@ -3044,122 +3764,30 @@
 20
 67
 b9
-68
-42
-4c
-80
-58
-00
-4c
-6f
-98
-40
-8a
-00
-1a
-22
-7e
-00
-e7
-e2
-00
-05
-18
-40
-84
-01
-18
-41
-04
-07
-60
-42
-4c
-80
-20
-60
-00
-00
-20
-40
-49
-ba
-20
-7a
-00
-00
-68
-42
-4c
-7f
-da
-20
-0b
-a2
-20
-40
-03
-08
-60
-42
-4c
-7f
-20
-60
-00
-00
-1a
-22
-7e
-00
-98
-40
-8a
-00
-6f
-e2
-00
-18
-e7
-e2
-00
-05
-18
-40
-84
-01
-18
-41
-04
-ff
-20
-60
-00
-00
 c6
 96
 80
 00
 20
 20
-02
-d5
+03
+86
 c6
 97
 00
 00
 68
 42
-4c
-a6
+4d
+19
 20
 40
 49
 15
 20
 40
-01
-c1
+02
+73
 20
 40
 57
@@ -3207,7 +3835,7 @@
 20
 20
 03
-21
+be
 ef
 e2
 00
@@ -3219,11 +3847,11 @@
 c2
 00
 03
-21
+be
 20
 40
-01
-9b
+02
+4d
 20
 60
 00
@@ -3235,7 +3863,7 @@
 6f
 e8
 4c
-61
+e8
 98
 00
 12
@@ -3247,7 +3875,7 @@
 68
 42
 4c
-60
+e7
 20
 40
 49
@@ -3259,7 +3887,7 @@
 20
 40
 02
-48
+f9
 78
 26
 fc
@@ -3290,72 +3918,72 @@
 00
 24
 2c
+03
 02
-51
 20
 20
+03
 02
-52
 20
 40
 03
-4a
+e7
 20
 20
 03
-46
+e3
 20
 40
 03
-4a
+e7
 20
 40
 03
-46
+e3
 20
 40
 03
-4a
+e7
 20
 40
 03
-46
+e3
 20
 20
 03
-4a
+e7
 20
 40
 03
-4a
+e7
 20
 40
 03
-46
+e3
 20
 20
 03
-4a
+e7
 20
 40
 03
-46
+e3
 20
 40
 03
-4a
+e7
 20
 20
 03
-46
+e3
 20
 40
 03
-46
+e3
 20
 20
 03
-4a
+e7
 d8
 40
 00
@@ -3363,7 +3991,7 @@
 20
 20
 03
-55
+f2
 d8
 40
 00
@@ -3371,7 +3999,7 @@
 20
 40
 03
-59
+f6
 d8
 40
 00
@@ -3379,19 +4007,19 @@
 20
 20
 03
-59
+f6
 20
 40
 03
-53
+f0
 20
 40
 03
-4f
+ec
 20
 20
 03
-53
+f0
 d8
 40
 00
@@ -3399,7 +4027,7 @@
 20
 20
 03
-55
+f2
 d8
 40
 00
@@ -3407,7 +4035,7 @@
 20
 40
 03
-59
+f6
 d8
 40
 00
@@ -3415,7 +4043,7 @@
 20
 20
 03
-59
+f6
 18
 46
 7c
@@ -3431,7 +4059,7 @@
 20
 20
 03
-5c
+f9
 18
 46
 7c
@@ -3458,8 +4086,8 @@
 00
 20
 40
-03
-72
+04
+0f
 58
 00
 00
@@ -3474,8 +4102,8 @@
 00
 20
 20
-03
-64
+04
+01
 e7
 e2
 00
@@ -3490,24 +4118,24 @@
 00
 20
 40
-03
-6d
+04
+0a
 70
 4f
 f0
 66
 20
 20
-03
-6a
+04
+07
 6f
 e2
 4f
 f1
 c0
 d5
-03
-6a
+04
+07
 20
 60
 00
@@ -3534,8 +4162,8 @@
 00
 20
 40
-03
-78
+04
+15
 da
 c0
 00
@@ -3761,9 +4389,9 @@
 00
 06
 c0
-02
-03
-af
+02
+04
+4c
 c0
 03
 5e
@@ -3786,8 +4414,8 @@
 73
 c0
 05
-03
-b3
+04
+50
 20
 20
 5c
@@ -3802,12 +4430,12 @@
 bb
 c2
 81
-83
-b7
+84
+54
 20
 20
-03
-be
+04
+5b
 6f
 e4
 44
@@ -3818,16 +4446,16 @@
 00
 24
 22
-83
-be
+84
+5b
 20
 40
 5e
 22
 24
 34
-03
-be
+04
+5b
 70
 04
 76
@@ -3882,8 +4510,8 @@
 00
 24
 21
-03
-cb
+04
+68
 6f
 e2
 44
@@ -4066,11 +4694,11 @@
 b9
 70
 4c
-25
+e1
 00
 70
 4c
-24
+e0
 00
 20
 60
@@ -4083,7 +4711,7 @@
 20
 40
 04
-02
+9f
 6f
 e4
 46
@@ -4122,16 +4750,20 @@
 00
 70
 4c
-24
+e0
 00
 70
 4c
-25
+e1
 00
 20
 60
 00
 00
+79
+3f
+80
+30
 20
 40
 4e
@@ -4167,7 +4799,7 @@
 20
 20
 00
-77
+ef
 58
 00
 00
@@ -4202,16 +4834,8 @@
 4e
 70
 4c
-24
-00
-58
-00
+e0
 00
-01
-67
-e2
-4c
-25
 20
 60
 00
@@ -4248,14 +4872,18 @@
 41
 e3
 01
+70
+40
+91
+00
 20
 20
 00
-77
+ef
 20
 20
 04
-08
+a5
 58
 00
 00
@@ -4263,7 +4891,7 @@
 67
 e2
 4c
-24
+e0
 20
 60
 00
@@ -4279,7 +4907,11 @@
 20
 20
 04
-2d
+ca
+79
+3f
+80
+30
 70
 0a
 ff
@@ -4335,11 +4967,11 @@
 da
 60
 4c
-24
+e0
 da
 40
 04
-3d
+db
 20
 20
 4d
@@ -4371,7 +5003,7 @@
 da
 40
 04
-1d
+b9
 20
 20
 4d
@@ -4379,7 +5011,7 @@
 da
 60
 4c
-25
+e1
 da
 40
 4d
@@ -4390,20 +5022,12 @@
 04
 20
 40
-03
-3e
-20
-40
 56
 48
 24
 7a
 00
 00
-20
-40
-03
-3e
 6f
 e2
 0b
@@ -4448,6 +5072,10 @@
 20
 50
 1f
+79
+20
+00
+30
 ef
 ec
 00
@@ -4483,7 +5111,7 @@
 20
 40
 00
-77
+ef
 20
 40
 4d
@@ -4506,8 +5134,8 @@
 00
 68
 44
-4c
-a7
+4d
+1a
 6f
 e4
 45
@@ -4530,8 +5158,8 @@
 00
 68
 44
-4c
-a7
+4d
+1a
 6f
 e2
 0b
@@ -4542,8 +5170,8 @@
 00
 67
 e4
-4c
-a7
+4d
+1a
 20
 20
 50
@@ -4586,16 +5214,16 @@
 2d
 c0
 05
-04
-7e
+05
+1b
 c0
 02
-84
-8a
+85
+27
 c0
 00
-84
-8c
+85
+29
 c0
 02
 51
@@ -4654,8 +5282,8 @@
 b9
 20
 40
-04
-7e
+05
+1b
 20
 20
 51
@@ -4670,7 +5298,7 @@
 1e
 70
 4c
-26
+e2
 01
 c0
 01
@@ -4678,7 +5306,7 @@
 2d
 70
 4c
-26
+e2
 00
 c0
 02
@@ -4688,23 +5316,23 @@
 60
 00
 00
-c4
-ed
+23
+c9
 aa
 55
 40
 00
 00
 40
-0a
-00
-00
-00
-00
+8a
 00
+88
 00
+40
 00
+10
 00
+20
 00
 00
 00
@@ -4737,7 +5365,7 @@
 01
 74
 02
-00
+02
 00
 00
 00
@@ -4764,21 +5392,21 @@
 55
 01
 00
-66
+ed
 4c
 40
 aa
 55
 01
 00
-65
+ec
 4c
 00
 aa
 55
 02
 00
-5c
+e4
 4c
 c0
 12
@@ -4800,30 +5428,6 @@
 00
 aa
 55
-08
-00
-27
-4c
-00
-48
-5d
-00
-00
-00
-00
-00
-aa
-55
-04
-00
-54
-4c
-ff
-ff
-ff
-ff
-aa
-55
 01
 00
 6e
@@ -4928,28 +5532,14 @@
 3a
 aa
 55
-0f
+01
 00
 81
 43
-0e
-42
-54
-34
-2e
-32
-20
-4b
-65
-79
-62
-6f
-61
-72
-64
+00
 aa
 55
-1c
+0c
 00
 41
 43
@@ -4965,58 +5555,26 @@
 03
 12
 18
-0f
-09
-42
-54
-34
-2e
-32
-20
-4b
-65
-79
-62
-6f
-61
-72
-64
 aa
 55
-11
+01
 00
 61
 43
 1f
-0f
-09
-42
-54
-34
-2e
-32
-20
-4b
-65
-79
-62
-6f
-61
-72
-64
 aa
 55
 02
 00
 8e
 44
-37
+3f
 49
 aa
 55
 02
 00
-37
+3f
 49
 00
 00
@@ -5827,8 +6385,8 @@
 00
 14
 42
-f3
-4b
+af
+4c
 00
 aa
 55
@@ -5844,14 +6402,14 @@
 1c
 00
 1c
-e0
-4c
+30
+4d
 e0
 4f
-e0
-4c
-e0
-4c
+30
+4d
+30
+4d
 aa
 55
 02
@@ -5859,7 +6417,7 @@
 68
 46
 30
-10
+11
 aa
 55
 01
@@ -5910,7 +6468,7 @@
 00
 e4
 41
-0e
+10
 00
 aa
 55
@@ -5923,15 +6481,15 @@
 f0
 0a
 0b
-b2
-32
+b0
+30
 aa
 55
 02
 00
 57
 41
-8b
+89
 0b
 aa
 55
@@ -6034,7 +6592,7 @@
 55
 0f
 00
-15
+d1
 4c
 4b
 ba
@@ -6057,7 +6615,7 @@
 00
 c3
 40
-15
+d1
 4c
-ef
-53
+99
+ce
Index: rongyuan/output/memmap.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/output/memmap.format	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/output/memmap.format	(working copy)
@@ -935,81 +935,40 @@
 0x467d mem_module_hci_nofiy_addr
 0x467f mem_last_transmite_clock
 0x4683 mem_module_uuid_list
-0x4937 mem_module_uuid_list_end
-0x4937 mem_module_le_att_list
-0x4bf3 mem_module_le_att_list_end
-0x4bf3 mem_module_nv_data
-0x4bf3 mem_module_nv_data0
-0x4bf3 mem_module_nv_data1
-0x4bf3 mem_module_nv_data2
-0x4bf3 mem_module_nv_data3
-0x4bf3 mem_module_nv_data4
-0x4c15 mem_rf_init
-0x4c24 mem_classic_shutter_cable_unplug_conut
-0x4c25 mem_classic_shutter_hid_disconn_count
-0x4c26 mem_suspend_flag
-0x4c27 mem_24g_enter_hibernate
-0x4c2f mem_24g_txfail_cnt
-0x4c30 mem_24g_txbuf_new
-0x4c50 mem_24g_enter_hibernate_setup
-0x4c54 mem_24g_enter_hibernate_max
-0x4c58 mem_24g_rxdata_length
-0x4c59 mem_24g_pid
-0x4c5a mem_24g_datalen
-0x4c5b mem_24g_txlen
-0x4c5c mem_24g_rx_window
-0x4c5e mem_24g_ensure
-0x4c5f mem_24g_retry
-0x4c60 mem_24g_ch
-0x4c61 mem_24g_addr
-0x4c65 mem_24g_no_ack
-0x4c66 mem_24g_max_retry
-0x4c67 mem_24g_syncword
-0x4c69 mem_24g_syncword_crc8
-0x4c6a mem_24g_get_syncword_crc8
-0x4c6b mem_power_ctrl_pac_succ_cnt
-0x4c6c mem_power_ctrl_level
-0x4c6d mem_rssi_avg_received
-0x4c6e mem_rssi_hex_received
-0x4c6f mem_rssi_signal_buf
-0x4c77 mem_rssi_noise_buf
-0x4c7f mem_rssi_noise_index
-0x4c80 mem_rssi_signal_index
-0x4c81 mem_24g_ackbuffer
-0x4ca3 mem_24g_pll_flag
-0x4ca4 mem_24g_retransmit_cnt
-0x4ca5 mem_en_24g_flag
-0x4ca6 mem_test_ch
-0x4ca7 mem_module_bt_ptr
-0x4ca9 mem_24g_send_flag
-0x4caa mem_tx_fifo0_new
-0x4caa mem_tx_fifo0_map_new
-0x4cab mem_tx_fifo0_ptr_new
-0x4cad mem_tx_fifo1_new
-0x4cad mem_tx_fifo1_map_new
-0x4cae mem_tx_fifo1_ptr_new
-0x4cb0 mem_tx_fifo2_new
-0x4cb0 mem_tx_fifo2_map_new
-0x4cb1 mem_tx_fifo2_ptr_new
-0x4cb3 mem_tx_fifo3_new
-0x4cb3 mem_tx_fifo3_map_new
-0x4cb4 mem_tx_fifo3_ptr_new
-0x4cb6 mem_tx_fifo4_new
-0x4cb6 mem_tx_fifo4_map_new
-0x4cb7 mem_tx_fifo4_ptr_new
-0x4cb9 mem_tx_fifo5_new
-0x4cb9 mem_tx_fifo5_map_new
-0x4cba mem_tx_fifo5_ptr_new
-0x4cbc mem_tx_fifo6_new
-0x4cbc mem_tx_fifo6_map_new
-0x4cbd mem_tx_fifo6_ptr_new
-0x4cbf mem_tx_fifo7_new
-0x4cbf mem_tx_fifo7_map_new
-0x4cc0 mem_tx_fifo7_ptr_new
-0x4cc2 mem_tx_fifo8_new
-0x4cc2 mem_tx_fifo8_map_new
-0x4cc3 mem_tx_fifo8_ptr_new
-0x4cc5 mem_tx_fifo_end_new
+0x493f mem_module_uuid_list_end
+0x493f mem_module_le_att_list
+0x4caf mem_module_le_att_list_end
+0x4caf mem_module_nv_data
+0x4caf mem_module_nv_data0
+0x4caf mem_module_nv_data1
+0x4caf mem_module_nv_data2
+0x4caf mem_module_nv_data3
+0x4caf mem_module_nv_data4
+0x4cd1 mem_rf_init
+0x4ce0 mem_classic_shutter_cable_unplug_conut
+0x4ce1 mem_classic_shutter_hid_disconn_count
+0x4ce2 mem_suspend_flag
+0x4ce3 mem_24g_txfail_cnt
+0x4ce4 mem_24g_rx_window
+0x4ce6 mem_24g_retry
+0x4ce7 mem_24g_ch
+0x4ce8 mem_24g_addr
+0x4cec mem_24g_no_ack
+0x4ced mem_24g_max_retry
+0x4cee mem_24g_syncword
+0x4cf0 mem_24g_syncword_crc8
+0x4cf1 mem_24g_get_syncword_crc8
+0x4cf2 mem_power_ctrl_pac_succ_cnt
+0x4cf3 mem_power_ctrl_level
+0x4cf4 mem_24g_ackbuffer
+0x4d16 mem_24g_pll_flag
+0x4d17 mem_24g_retransmit_cnt
+0x4d18 mem_en_24g_flag
+0x4d19 mem_test_ch
+0x4d1a mem_module_bt_ptr
+0x4d1c mem_wakeup_gpio
+0x4d1d mem_gpio_wakeup_backup
+0x4d23 mem_mcu_set_bt_wake_timer
 0x0b1e mem_24g_rxbuf
 0x0b40 mem_24g_txbuf
 0x0b60 mem_24g_txpayload
Index: rongyuan/output/sched.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/output/sched.rom	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/output/sched.rom	(working copy)
@@ -1,13 +1,13 @@
 mem_patch00:
-0a	#mem_patch00
+8a	#mem_patch00
 00	#mem_patch01
-00	#mem_patch02
+88	#mem_patch02
 00	#mem_patch03
-00	#mem_patch04
+40	#mem_patch04
 00	#mem_patch05
-00	#mem_patch06
+10	#mem_patch06
 00	#mem_patch07
-00	#mem_patch08
+20	#mem_patch08
 00	#mem_patch09
 00	#mem_patch0a
 00	#mem_patch0b
@@ -40,7 +40,7 @@
 01	#mem_patch26
 74	#mem_patch27
 02	#mem_patch28
-00	#mem_patch29
+02	#mem_patch29
 00	#mem_patch2a
 00	#mem_patch2b
 00	#mem_patch2c
@@ -69,8 +69,7 @@
 
 
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
-mem_24g_enter_hibernate:00 48 5d 00 00 00 00 00#10 min
-mem_24g_enter_hibernate_max:ff ff ff ff
+
 
 
 
@@ -104,19 +103,19 @@
 mem_le_adv_interval:40 00
 
 mem_le_lap:21 22 01 33 02 3a
-mem_le_name_len:
-'BT4.2 Keyboard
+mem_le_name_len:00
+
 
 mem_le_adv_data_len:03
 mem_le_adv_data:
 02 01 05
 03 19 c1 03
 03 03 12 18
-'\09BT4.2 Keyboard
+
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT4.2 Keyboard
+
 
 
 mem_ui_le_uuid_table:mem_module_le_att_list
@@ -516,14 +515,14 @@
 4FF2:FF 1F
 4FF4:00 1C
 4FF6:00 1C
-4FF8:e0 4c
+4FF8:30 4D
 4FFA:E0 4F
-4FFC:E0 4c
-4FFE:e0 4c
-
+4FFC:30 4D
+4FFE:30 4D
+######################################rongyuan tezhi_700uuid+880ble uuid###########################
 ##############BLUETOOTH CONFIG##############
 ###commom###
-mem_soft_version_num:3010
+mem_soft_version_num:3011
 mem_module_state:03
 mem_module_bluetooth_stauts_by_command:07
 
@@ -536,7 +535,7 @@
 mem_lpm_overhead:08
 mem_lpm_mult_timeout:02
 
-mem_sniff_param_interval:0e 00
+mem_sniff_param_interval:10 00
 
 ###ble###
 
@@ -544,8 +543,8 @@
 
 
 mem_lpm_config:0f 84 f0
-mem_lpm_xtalcnt:0a 0b b2 32
-mem_lpm_hibernate_switch:8b
+mem_lpm_xtalcnt:0a 0b b0 30
+mem_lpm_hibernate_switch:89
 mem_lpm_doze_switch:0b
 mem_gpio_wakeup:00 00 00 00 00 00 00 00
 
Index: rongyuan/patch/patch.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/patch/patch.prog	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/patch/patch.prog	(working copy)
@@ -10,6 +10,12 @@
 	//LPM exen bugfix
 	beq patch00_1,p_soft_reset
 	beq patch00_3,p_main_loop
+	beq patch00_7,p_idle_start_page
+	beq patch02_3,p_page_start
+	beq patch02_7,p_page_check_train
+	beq patch04_6,p_role_switch_master
+	beq patch06_4,p_send_eir
+	beq patch08_5,p_newconn_init
 	beq patch10_5,p_shutdown_radio
 	beq patch11_1,p_set_freq_tx
 	//LMP bugfix
@@ -19,6 +25,7 @@
 	beq patch14_3,p_lpm_adjust_clk
 	beq patch15_1,p_lpm_dispatch_next
 	beq patch15_4,p_lpm_unconn_nossp
+
 	
 //	beq patch16_1,p_lpm_check_wake_lock
 	beq patch17_0,p_module_init
@@ -40,9 +47,175 @@
 	beq patch27_5,p_parse_lmp_not_accepted
 	beq patch27_6,p_send_lmp
 	beq patch28_1,p_ssp_disable
+	beq patch29_1,p_uartd_send
 	beq patch33_1,p_sp_initialize_256
 	beq patch34_2,p_check_51cmd_once
 	branch assert
+//lpm change
+p_uartd_send:
+	copy contwu,pdata
+	store 2,IPC_BT2M0_WRITE_PTR
+//	jam 0xcc,0x4fee
+	jam 0x00,mem_lpm_mode
+	call p_enable_chgpump
+//wake_up_m0:
+	fetch 1,core_config
+	rtnbit1 7
+	set1 7,pdata
+	store 1,core_config
+	rtn
+p_soft_reset0:
+	
+	fetch 6,mem_gpio_wakeup_backup
+	store 6,mem_gpio_wakeup
+
+	deposit auxcnt
+	branch p_soft_rest1,blank			// if auxcnt is 0 ,blank set1 , BT normal periodic wake
+	call p_wake_m0					// if auxcnt is 1 ,blank set0 , BT not periodic wake
+	branch soft_reset+1
+	
+p_wake_m0:
+	call ice_break
+	jam 0x00,mem_lpm_mode
+	call p_enable_chgpump
+	branch wake_up_m0
+	
+p_enable_chgpump:
+	hfetch 1,rfen_chgpump
+	set1 6,pdata
+	hstore 1,rfen_chgpump
+	rtn
+	
+p_soft_rest1:
+	fetch 1,core_lpm_switch			// bit0  = 1 low wake up   bit1 = 0 high wake up
+	bbit1 0,p_gpio_low_wake_up
+p_gpio_high_wake_up:	
+	fetch 6,mem_gpio_wakeup
+	fetcht 6,core_gpio_in
+//	storet 6,0x4fe0
+	iand temp,pdata
+//	jam 0x02,0x4fec
+	ncall p_wake_m0,blank
+
+	branch soft_reset+1
+
+p_gpio_low_wake_up:
+	call p_check_io_wakeup
+	branch soft_reset+1
+	
+p_check_io_wakeup:
+	setarg 0xffffff
+	fetcht 3,core_gpio_in
+	ixor temp,pdata
+	fetcht 3,mem_gpio_wakeup
+	iand temp,pdata
+//	jam 0x03,0x4fec
+	nbranch p_wake_m0,blank
+
+	setarg 0xffffff
+	fetcht 3,core_gpio_in+3      		//core_gpio_wakeup+3
+	ixor temp,pdata
+	fetcht 3,mem_gpio_wakeup+3 			//core_gpio_in+3
+	iand temp,pdata
+//	jam 0x04,0x4fec
+	nbranch p_wake_m0,blank
+	rtn
+// page change	
+p_newconn_init:
+	call init_lmp_reinit
+	call new_conn_handle
+	store 1,mem_conn_handle
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	setarg 0xe40
+	store 2,mem_supervision_to
+	fetch 1,mem_state
+	set1 state_inconn,pdata
+	store 1,mem_state
+	jam 0,mem_op
+	jam 0,mem_state_map
+	jam 0,mem_lpm_current_mult
+	branch supervision_flush
+p_idle_start_page:
+	call idle_start_page+1
+	jam 7,mem_nfreq_index_page
+	rtn
+
+p_page_start:
+	setarg 0
+	store 4,mem_page_clk
+	branch page_start+1
+
+p_page_check_train:
+	compare 3,bt_clk,3
+	nrtn true
+	fetch 1,mem_nfreq_index_page
+	increase -1,pdata
+	store 1,mem_nfreq_index_page
+	rtn positive
+	jam 7,mem_nfreq_index_page
+	branch page_check_train+6
+
+
+p_role_switch_master:
+	call role_switch_check
+	nrtn user
+p_wait_role_switch_anchor:
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+	set0 mark_role_switch_receive_fhs,mark
+p_roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,p_roles_replyto_fhs
+	call new_conn_timeout
+	nbranch p_roles_waitfhs_loop,blank
+	bmark1 mark_role_switch_receive_fhs,p_roles_replyto_fhs1
+	branch role_switch_fail_master
+	
+p_roles_replyto_fhs:
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	set1 mark_role_switch_receive_fhs,mark
+	set0 mark_fhs_already_good,mark
+	fetch 1,mem_amaddr
+	iforce am_addr	//use current LT_ADDR
+	jam 2,mem_newconnto_counter
+	branch p_roles_waitfhs_loop
+
+p_roles_replyto_fhs1:
+	fetch 4,mem_clke_bt		//wait for 2 fhs,need 2.5ms
+	pincrease 8
+	store 4,mem_clke_bt
+	branch roles_replyto_fhs+4
+
+//after disconnect  other phone couldn't discovery device
+p_sconn_successful:
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	call page_exit
+	jam 0,memui_reconnect_mode
+	branch sconn_successful+1
+p_context_new:
+	arg p_context_search_empty,regc
+	branch context_new+2
+p_context_search_empty:
+	bbit1 state_inconn,context_search_next
+	force 0,null
+	rtn
+//send eir packet should be no encry state
+p_send_eir:
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	branch send_eir+1
+
+
+
+
 p_check_51cmd_once:
 	copy temp,pdata
 	rtn blank
@@ -72,6 +245,7 @@
 	
 	
 p_module_init:
+
 	setarg p_module_process_bb_event
 	store 2,mem_cb_bb_event_process
 
@@ -81,6 +255,8 @@
 	setarg p_module_process_idle
 	store 2,mem_cb_idle_process
 
+
+
 	setarg p_module_le_receive_data
 	store 2,mem_cb_att_write
 
@@ -91,7 +267,7 @@
 	store 2,mem_cb_bt_process
 
 	call p_keyboard_ble_init
-	call p_gpio15_init
+
 	call module_lpm_uart_init
 	call module_gpio_init
 	call check_module_disabled
@@ -200,12 +376,20 @@
 
 p_module_bb_event_timer:
 /**************classic shutter timer**********************/
+	call p_module_mcu_set_bt_wake_timer
 	call classic_shutter_check_unplug_timer
 	call classic_shutter_hid_handshake_timer
 	call classic_shutter_hid_disconn_timer
 /************************************/
 	rtn
-
+p_module_mcu_set_bt_wake_timer:
+	fetch 4,mem_mcu_set_bt_wake_timer
+	rtn blank
+	increase -1,pdata
+	store 4,mem_mcu_set_bt_wake_timer
+	nrtn blank
+//	jam 0x05,0x4fec
+	branch p_wake_m0
 
 p_module_le_receive_data:
 	call module_check_ble_encrypt_state
@@ -217,9 +401,6 @@
 	store 1,mem_module_le_rx_data_len
 	fetcht 2,mem_le_att_handle
 	storet 2,mem_module_le_rx_data_handle
-
-	call le_att_get_handle_info
-	nbranch assert,blank
 	fetch 1,mem_le_cur_uuid_length	//	uuid length
 //	bne 0x02,module_hci_event_receive_le_data
 //	ifetcht 2,contr
@@ -237,13 +418,39 @@
 	branch p_hid_rx_process_data_hid_kb
 
 p_module_lpm_lock:
-	branch module_lpm_lock
 
+	
+//	fetch 1,mem_wakeup_gpio
+//	copy pdata,queue
+//	hfetch 6,core_gpio_in
+//	qisolate1 pdata
+//	branch p_app_get_lpm_wake_lock,true
+	
+//	fetch 1,mem_wake_by_m0
+//	nbranch p_app_get_lpm_wake_lock,blank
+	
+	fetch 1,IPC_HOLD_BT
+	beq 1,p_app_get_lpm_wake_lock
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,p_module_lpm_lock_check_pairing
+	branch app_put_lpm_wake_lock
+p_module_lpm_lock_check_pairing:
+	beq FLAG_LE_PAIRING_END,app_put_lpm_wake_lock
+	branch p_app_get_lpm_wake_lock
+
+p_app_get_lpm_wake_lock:
+//	jam 0x00,mem_lpm_mode 
+	call p_enable_chgpump
+	call wake_up_m0
+	branch app_get_lpm_wake_lock
+
+
+	
 p_module_bt_conn_process:
 	branch p_module_spp_enter_sniff
 
 p_module_spp_enter_sniff:
-	branch module_spp_enter_sniff+1
+	branch module_spp_enter_sniff+4
 
 p_module_hci_cmd_control:
 	
@@ -278,11 +485,82 @@
 	beq HCI_CMD_24G_GET_NOISE,p_module_hci_cmd_set_noise_rssi
 	beq HCI_CMD_SET_DB_START,p_module_hci_cmd_set_db_start
 	beq HCI_CMD_CANCEL_BT_RECONN,p_module_hci_cmd_cancel_reconn
-
+	beq HCI_TEST_CMD_CLOSE_LPM,p_module_hci_test_cmde_close_lpm
+	beq HCI_CMD_READ_DATA_SET,p_module_hci_cmd_set_read_data
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_TEST_CMD_CLOSE_LPM,p_module_hci_test_cmde_close_lpm
+	beq HCI_CMD_MCU_SET_BT_WAKE_TIMER,p_module_hci_mcu_set_bt_wake_timer
 //	beq HCI_CMD_SET_CRSTAL,
 	
 	branch module_hci_cmd_control + 2
+//byte[0] 0----close lpm  1----open lpm   byte[1] lpm interval = sniff * byte[1]
+p_module_hci_test_cmde_close_lpm:
+//	jam 0,mem_wake_by_m0
+	ifetch 1,contru
+	store 1,mem_lpm_mode
+	rtn
+p_module_hci_cmd_enter_sleep:
+//	call module_hci_event_receive_valid_cmd
+
+	branch app_enter_hibernate
+
+module_hci_cmd_set_wake_gpio:
+
+	ifetch 1,contru
+
+	//lpm
+	fetcht 4,mem_lpm_xtalcnt
+	setflag blank,16,temp 			//pdata:0   set 0x8126   0bit set1       pdata:1   set 0x8126   0bit set0
+	setflag blank,24,temp
+	storet 4,mem_lpm_xtalcnt
+
+	//hibernate
+	fetcht 1,mem_lpm_hibernate_switch
+	setflag blank,0,temp
+	storet 1,mem_lpm_hibernate_switch
+
+	ifetch 6,contru
+	store 6,mem_gpio_wakeup
+	store 6,mem_gpio_wakeup_backup
+	call lpm_write_gpio_wakeup	
+
+	branch module_hci_event_receive_valid_cmd
 
+p_module_hci_mcu_set_bt_wake_timer:
+	ifetch 4,contru
+	store 4,mem_mcu_set_bt_wake_timer
+	branch module_hci_event_receive_valid_cmd
+
+
+
+p_module_hci_cmd_set_read_data:
+	disable user2
+	ifetcht 1,contru
+	call p_le_att_get_handle_ptr
+	nbranch module_hci_event_receive_invalid_cmd,user2
+	copy contr,contw
+	copy rega,contru
+	add contru, 2,contru
+	fetch 1,mem_module_uart_len
+	increase -2,pdata
+	istore 1,contw
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	
+	branch module_hci_event_receive_valid_cmd
+
+
+p_le_att_get_handle_ptr:
+	disable user2
+	call le_att_get_handle_ptr2
+	branch p_le_att_get_handle_ptr_found,zero
+	rtn
+p_le_att_get_handle_ptr_found:
+	enable user2
+	ifetch 1,contr
+	iadd contr,contr	
+	rtn	
+	
 p_module_hci_cmd_add_service_charactisic:
 	call le_att_get_last_handle
 	increase -2,contr
@@ -501,9 +779,6 @@
 	branch module_hci_sspairing_mode
 
 
-p_module_hci_cmd_enter_sleep:
-	call module_hci_event_receive_valid_cmd
-	branch app_enter_hibernate
 
 
 p_module_hci_cmd_send_hid_data:
@@ -571,18 +846,19 @@
  	jam LMP_ACCEPTED,mem_lmo_opcode2  
  	rtn
 
+
 p_parse_lmp_crypt_key:
 	fetcht 1,mem_rxbuf+1
 	sub temp,6,null
 	branch reject_lmp_packet_pdu_not_allowed,positive
 	branch parse_lmp_crypt_key + 1
 	
-reject_lmp_packet_pdu_not_allowed:
+reject_lmp_packet_pdu_not_allowed: 
 	jam PDU_NOT_ALLOWED,mem_lmo_reason2
 	branch reject_lmp_packet
 
 p_parse_lmp_sniff_req:
-	branch lmp_reject_sniff
+//	branch lmp_reject_sniff
 	fetch 2,mem_rxbuf+6
 	branch lmp_reject_sniff,blank
 	//call parse_lmp_sniff_req_check_sniff_para
@@ -598,6 +874,7 @@
 
 p_parse_lmp_not_accepted_aurand:
 	call parse_lmp_not_accepted_aurand
+	set0 mark_always_page,mark
 	fetch 1,mem_conn_sm
 	rtnne CONN_SM_AUTH_WAIT
 	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
@@ -1034,7 +1311,6 @@
 	branch shutdown_radio
 
 p_module_hci_cmd_set_24g_tx:
-	
 	set0 mark_24g_rx,mark
 //	call module_hci_event_receive_valid_cmd
 	
@@ -1070,9 +1346,10 @@
 
 
 p_module_hci_cmd_set_24g_channel:
+
 	ifetch 1,contru
 	store 1,mem_24g_ch
-	jam 1,mem_24g_pll_flag
+	
 	rtn
 //	call shutdown_radio
 //	branch set_freq_tx	
@@ -1183,9 +1460,10 @@
 	rshift temp,white_init
 	rtn
 p_g24_sync_timeout:
-	call save_rssi
+	
 //	branch p_g24_end_of_packet
 p_g24_end_of_packet:
+	call save_rssi
 	disable encode_fec1
 	disable decode_fec1
 	disable encode_fec0
@@ -1276,7 +1554,7 @@
 	call p_g24_evt_receive_packet_report
 p_g24_transmit_abandon:
 	call p_g24_rx_interrupt_clear
-	jam 0,mem_24g_send_flag
+	
 	rtn	
 
 p_g24_retransmit:
@@ -1382,6 +1660,7 @@
 	istore 3,contw
 //	disable decode_fec1
 	branch p_g24_end_of_packet,crc_failed
+	call save_rssi
 	enable user3
 	fetch 1,mem_last_freq
 	add pdata,0,rega
@@ -1452,43 +1731,17 @@
 	jam HCI_EVENT_RECEIVE_24G_DATA,mem_module_uart_opcode
 	fetch 1,mem_24g_rxbuf
 	and pdata,0x1f,loopcnt	//max payload: 32bytes
-	
-	copy pdata,loopcnt
+	copy loopcnt,pdata
+	pincrease 1,pdata
 	call module_hci_prepare_tx
+	fetch 1,mem_rssi
+	istore 1,contwu
 	arg mem_24g_rxbuf+1,contr
 	call uart_copy_tx_bytes
 	branch  uartd_send
 	
 
 	
-	
-p_rssi_signal:
-	fetcht 1,mem_rssi_signal_index
-	setarg mem_rssi_signal_buf
-	iadd temp,contw
-	copy rega,pdata
-	istore 1,contw
-	increase 1,temp
-	and_into RSSI_BUF_LEN_SIGNAL,temp
-	storet 1,mem_rssi_signal_index
-	rtn
-p_rssi_noise:
-	call save_rssi
-	rtn blank
-	fetcht 1,mem_rssi_noise_index
-	arg mem_rssi_noise_buffer,rega
-	call p_rssi_store
-	storet 1,mem_rssi_noise_index
-	rtn
-
-p_rssi_store:
-	copy rega,pdata
-	iadd temp,contw
-	fetch 1,mem_rssi
-	istore 1,contw
-	increase 1,temp
-	and_into RSSI_BUF_LEN_NOISE,temp
-	rtn
 
 
 p_g24_dispatch:
@@ -1891,6 +2144,7 @@
 	rtn
 
 classic_shutter_process_reconnect_failed:
+	set0 mark_always_page,mark
 	call module_disconn_start
 	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
 	setarg 1
@@ -1915,8 +2169,8 @@
 	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
 	call module_hci_event_enter_standby_mode_len0
 	jam 0,mem_classic_shutter_cable_unplug_conut	
-	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
-	store 1,mem_classic_shutter_hid_disconn_count
+//	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+//	store 1,mem_classic_shutter_hid_disconn_count
 	rtn
 
 classic_shutter_process_hid_handshake:
@@ -1928,6 +2182,7 @@
 	jam HCI_EVENT_BT_HID_CONNECT,mem_module_uart_opcode
 	call module_hci_event_enter_standby_mode_len0
 	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	jam 0,mem_lpm_mode
 //	call app_lpm_mult_enable
 	branch keyboard_stop_bluetooth_discovery
 	
@@ -1949,6 +2204,7 @@
 classic_shutter_process_linkkey_generate:
 	branch p_module_hci_event_bt_enc_info
 p_module_hci_event_bt_enc_info:
+	set0 mark_always_page,mark
 	jam HCI_EVENT_BT_ENC_INFO,mem_module_uart_opcode
 	setarg 29
 	call module_hci_prepare_tx
@@ -1996,10 +2252,8 @@
 
 
 bt_keyboard_send_hid_data:
-	call p_gpio15_low_high_low
 	call l2cap_malloc_is_fifo_full
 	nrtn blank
-	call p_gpio15_low_high_low
 	fetch 1,mem_module_uart_len
 	add pdata,1,rega
 	call hid_malloc_tx_buff
@@ -2014,6 +2268,7 @@
 
 
 p_moudle_hci_cmd_creat_bt_reconnect:
+	set1 mark_always_page,mark
 	ifetch 6,contru
 	store 6,mem_lap
 	ifetch 6,contru
Index: rongyuan/program_patch/keyboard_24g_spec_code/patch_24g.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/program_patch/keyboard_24g_spec_code/patch_24g.prog	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/program_patch/keyboard_24g_spec_code/patch_24g.prog	(working copy)
@@ -10,7 +10,6 @@
 	branch shutdown_radio
 
 p_module_hci_cmd_set_24g_tx:
-	
 	set0 mark_24g_rx,mark
 //	call module_hci_event_receive_valid_cmd
 	
@@ -46,9 +45,10 @@
 
 
 p_module_hci_cmd_set_24g_channel:
+
 	ifetch 1,contru
 	store 1,mem_24g_ch
-	jam 1,mem_24g_pll_flag
+	
 	rtn
 //	call shutdown_radio
 //	branch set_freq_tx	
@@ -159,9 +159,10 @@
 	rshift temp,white_init
 	rtn
 p_g24_sync_timeout:
-	call save_rssi
+	
 //	branch p_g24_end_of_packet
 p_g24_end_of_packet:
+	call save_rssi
 	disable encode_fec1
 	disable decode_fec1
 	disable encode_fec0
@@ -252,7 +253,7 @@
 	call p_g24_evt_receive_packet_report
 p_g24_transmit_abandon:
 	call p_g24_rx_interrupt_clear
-	jam 0,mem_24g_send_flag
+	
 	rtn	
 
 p_g24_retransmit:
@@ -358,6 +359,7 @@
 	istore 3,contw
 //	disable decode_fec1
 	branch p_g24_end_of_packet,crc_failed
+	call save_rssi
 	enable user3
 	fetch 1,mem_last_freq
 	add pdata,0,rega
@@ -428,43 +430,17 @@
 	jam HCI_EVENT_RECEIVE_24G_DATA,mem_module_uart_opcode
 	fetch 1,mem_24g_rxbuf
 	and pdata,0x1f,loopcnt	//max payload: 32bytes
-	
-	copy pdata,loopcnt
+	copy loopcnt,pdata
+	pincrease 1,pdata
 	call module_hci_prepare_tx
+	fetch 1,mem_rssi
+	istore 1,contwu
 	arg mem_24g_rxbuf+1,contr
 	call uart_copy_tx_bytes
 	branch  uartd_send
 	
 
 	
-	
-p_rssi_signal:
-	fetcht 1,mem_rssi_signal_index
-	setarg mem_rssi_signal_buf
-	iadd temp,contw
-	copy rega,pdata
-	istore 1,contw
-	increase 1,temp
-	and_into RSSI_BUF_LEN_SIGNAL,temp
-	storet 1,mem_rssi_signal_index
-	rtn
-p_rssi_noise:
-	call save_rssi
-	rtn blank
-	fetcht 1,mem_rssi_noise_index
-	arg mem_rssi_noise_buffer,rega
-	call p_rssi_store
-	storet 1,mem_rssi_noise_index
-	rtn
-
-p_rssi_store:
-	copy rega,pdata
-	iadd temp,contw
-	fetch 1,mem_rssi
-	istore 1,contw
-	increase 1,temp
-	and_into RSSI_BUF_LEN_NOISE,temp
-	rtn
 
 
 p_g24_dispatch:
Index: rongyuan/program_patch/keyboard_bt_spec_code/patch_bt_event_deal.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/program_patch/keyboard_bt_spec_code/patch_bt_event_deal.prog	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/program_patch/keyboard_bt_spec_code/patch_bt_event_deal.prog	(working copy)
@@ -29,6 +29,7 @@
 	rtn
 
 classic_shutter_process_reconnect_failed:
+	set0 mark_always_page,mark
 	call module_disconn_start
 	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
 	setarg 1
@@ -53,8 +54,8 @@
 	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
 	call module_hci_event_enter_standby_mode_len0
 	jam 0,mem_classic_shutter_cable_unplug_conut	
-	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
-	store 1,mem_classic_shutter_hid_disconn_count
+//	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+//	store 1,mem_classic_shutter_hid_disconn_count
 	rtn
 
 classic_shutter_process_hid_handshake:
@@ -66,6 +67,7 @@
 	jam HCI_EVENT_BT_HID_CONNECT,mem_module_uart_opcode
 	call module_hci_event_enter_standby_mode_len0
 	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	jam 0,mem_lpm_mode
 //	call app_lpm_mult_enable
 	branch keyboard_stop_bluetooth_discovery
 	
@@ -87,6 +89,7 @@
 classic_shutter_process_linkkey_generate:
 	branch p_module_hci_event_bt_enc_info
 p_module_hci_event_bt_enc_info:
+	set0 mark_always_page,mark
 	jam HCI_EVENT_BT_ENC_INFO,mem_module_uart_opcode
 	setarg 29
 	call module_hci_prepare_tx
@@ -134,10 +137,8 @@
 
 
 bt_keyboard_send_hid_data:
-	call p_gpio15_low_high_low
 	call l2cap_malloc_is_fifo_full
 	nrtn blank
-	call p_gpio15_low_high_low
 	fetch 1,mem_module_uart_len
 	add pdata,1,rega
 	call hid_malloc_tx_buff
@@ -152,6 +153,7 @@
 
 
 p_moudle_hci_cmd_creat_bt_reconnect:
+	set1 mark_always_page,mark
 	ifetch 6,contru
 	store 6,mem_lap
 	ifetch 6,contru
Index: rongyuan/program_patch/main_patch.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/program_patch/main_patch.prog	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/program_patch/main_patch.prog	(working copy)
@@ -10,6 +10,12 @@
 	//LPM exen bugfix
 	beq patch00_1,p_soft_reset
 	beq patch00_3,p_main_loop
+	beq patch00_7,p_idle_start_page
+	beq patch02_3,p_page_start
+	beq patch02_7,p_page_check_train
+	beq patch04_6,p_role_switch_master
+	beq patch06_4,p_send_eir
+	beq patch08_5,p_newconn_init
 	beq patch10_5,p_shutdown_radio
 	beq patch11_1,p_set_freq_tx
 	//LMP bugfix
@@ -19,6 +25,7 @@
 	beq patch14_3,p_lpm_adjust_clk
 	beq patch15_1,p_lpm_dispatch_next
 	beq patch15_4,p_lpm_unconn_nossp
+
 	
 //	beq patch16_1,p_lpm_check_wake_lock
 	beq patch17_0,p_module_init
@@ -40,9 +47,175 @@
 	beq patch27_5,p_parse_lmp_not_accepted
 	beq patch27_6,p_send_lmp
 	beq patch28_1,p_ssp_disable
+	beq patch29_1,p_uartd_send
 	beq patch33_1,p_sp_initialize_256
 	beq patch34_2,p_check_51cmd_once
 	branch assert
+//lpm change
+p_uartd_send:
+	copy contwu,pdata
+	store 2,IPC_BT2M0_WRITE_PTR
+//	jam 0xcc,0x4fee
+	jam 0x00,mem_lpm_mode
+	call p_enable_chgpump
+//wake_up_m0:
+	fetch 1,core_config
+	rtnbit1 7
+	set1 7,pdata
+	store 1,core_config
+	rtn
+p_soft_reset0:
+	
+	fetch 6,mem_gpio_wakeup_backup
+	store 6,mem_gpio_wakeup
+
+	deposit auxcnt
+	branch p_soft_rest1,blank			// if auxcnt is 0 ,blank set1 , BT normal periodic wake
+	call p_wake_m0					// if auxcnt is 1 ,blank set0 , BT not periodic wake
+	branch soft_reset+1
+	
+p_wake_m0:
+	call ice_break
+	jam 0x00,mem_lpm_mode
+	call p_enable_chgpump
+	branch wake_up_m0
+	
+p_enable_chgpump:
+	hfetch 1,rfen_chgpump
+	set1 6,pdata
+	hstore 1,rfen_chgpump
+	rtn
+	
+p_soft_rest1:
+	fetch 1,core_lpm_switch			// bit0  = 1 low wake up   bit1 = 0 high wake up
+	bbit1 0,p_gpio_low_wake_up
+p_gpio_high_wake_up:	
+	fetch 6,mem_gpio_wakeup
+	fetcht 6,core_gpio_in
+//	storet 6,0x4fe0
+	iand temp,pdata
+//	jam 0x02,0x4fec
+	ncall p_wake_m0,blank
+
+	branch soft_reset+1
+
+p_gpio_low_wake_up:
+	call p_check_io_wakeup
+	branch soft_reset+1
+	
+p_check_io_wakeup:
+	setarg 0xffffff
+	fetcht 3,core_gpio_in
+	ixor temp,pdata
+	fetcht 3,mem_gpio_wakeup
+	iand temp,pdata
+//	jam 0x03,0x4fec
+	nbranch p_wake_m0,blank
+
+	setarg 0xffffff
+	fetcht 3,core_gpio_in+3      		//core_gpio_wakeup+3
+	ixor temp,pdata
+	fetcht 3,mem_gpio_wakeup+3 			//core_gpio_in+3
+	iand temp,pdata
+//	jam 0x04,0x4fec
+	nbranch p_wake_m0,blank
+	rtn
+// page change	
+p_newconn_init:
+	call init_lmp_reinit
+	call new_conn_handle
+	store 1,mem_conn_handle
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	setarg 0x720
+	store 2,mem_supervision_to
+	fetch 1,mem_state
+	set1 state_inconn,pdata
+	store 1,mem_state
+	jam 0,mem_op
+	jam 0,mem_state_map
+	jam 0,mem_lpm_current_mult
+	branch supervision_flush
+p_idle_start_page:
+	call idle_start_page+1
+	jam 7,mem_nfreq_index_page
+	rtn
+
+p_page_start:
+	setarg 0
+	store 4,mem_page_clk
+	branch page_start+1
+
+p_page_check_train:
+	compare 3,bt_clk,3
+	nrtn true
+	fetch 1,mem_nfreq_index_page
+	increase -1,pdata
+	store 1,mem_nfreq_index_page
+	rtn positive
+	jam 7,mem_nfreq_index_page
+	branch page_check_train+6
+
+
+p_role_switch_master:
+	call role_switch_check
+	nrtn user
+p_wait_role_switch_anchor:
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+	set0 mark_role_switch_receive_fhs,mark
+p_roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,p_roles_replyto_fhs
+	call new_conn_timeout
+	nbranch p_roles_waitfhs_loop,blank
+	bmark1 mark_role_switch_receive_fhs,p_roles_replyto_fhs1
+	branch role_switch_fail_master
+	
+p_roles_replyto_fhs:
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	set1 mark_role_switch_receive_fhs,mark
+	set0 mark_fhs_already_good,mark
+	fetch 1,mem_amaddr
+	iforce am_addr	//use current LT_ADDR
+	jam 2,mem_newconnto_counter
+	branch p_roles_waitfhs_loop
+
+p_roles_replyto_fhs1:
+	fetch 4,mem_clke_bt		//wait for 2 fhs,need 2.5ms
+	pincrease 8
+	store 4,mem_clke_bt
+	branch roles_replyto_fhs+4
+
+//after disconnect  other phone couldn't discovery device
+p_sconn_successful:
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	call page_exit
+	jam 0,memui_reconnect_mode
+	branch sconn_successful+1
+p_context_new:
+	arg p_context_search_empty,regc
+	branch context_new+2
+p_context_search_empty:
+	bbit1 state_inconn,context_search_next
+	force 0,null
+	rtn
+//send eir packet should be no encry state
+p_send_eir:
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	branch send_eir+1
+
+
+
+
 p_check_51cmd_once:
 	copy temp,pdata
 	rtn blank
@@ -72,6 +245,7 @@
 	
 	
 p_module_init:
+
 	setarg p_module_process_bb_event
 	store 2,mem_cb_bb_event_process
 
@@ -81,6 +255,8 @@
 	setarg p_module_process_idle
 	store 2,mem_cb_idle_process
 
+
+
 	setarg p_module_le_receive_data
 	store 2,mem_cb_att_write
 
@@ -91,7 +267,7 @@
 	store 2,mem_cb_bt_process
 
 	call p_keyboard_ble_init
-	call p_gpio15_init
+
 	call module_lpm_uart_init
 	call module_gpio_init
 	call check_module_disabled
@@ -200,12 +376,23 @@
 
 p_module_bb_event_timer:
 /**************classic shutter timer**********************/
+	call p_module_mcu_set_bt_wake_timer
 	call classic_shutter_check_unplug_timer
 	call classic_shutter_hid_handshake_timer
 	call classic_shutter_hid_disconn_timer
+//	call classic_keyboard_reconn_timer
 /************************************/
 	rtn
 
+	
+p_module_mcu_set_bt_wake_timer:
+	fetch 4,mem_mcu_set_bt_wake_timer
+	rtn blank
+	increase -1,pdata
+	store 4,mem_mcu_set_bt_wake_timer
+	nrtn blank
+//	jam 0x05,0x4fec
+	branch p_wake_m0
 
 p_module_le_receive_data:
 	call module_check_ble_encrypt_state
@@ -217,9 +404,6 @@
 	store 1,mem_module_le_rx_data_len
 	fetcht 2,mem_le_att_handle
 	storet 2,mem_module_le_rx_data_handle
-
-	call le_att_get_handle_info
-	nbranch assert,blank
 	fetch 1,mem_le_cur_uuid_length	//	uuid length
 //	bne 0x02,module_hci_event_receive_le_data
 //	ifetcht 2,contr
@@ -237,13 +421,39 @@
 	branch p_hid_rx_process_data_hid_kb
 
 p_module_lpm_lock:
-	branch module_lpm_lock
 
+	
+//	fetch 1,mem_wakeup_gpio
+//	copy pdata,queue
+//	hfetch 6,core_gpio_in
+//	qisolate1 pdata
+//	branch p_app_get_lpm_wake_lock,true
+	
+//	fetch 1,mem_wake_by_m0
+//	nbranch p_app_get_lpm_wake_lock,blank
+	
+	fetch 1,IPC_HOLD_BT
+	beq 1,p_app_get_lpm_wake_lock
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,p_module_lpm_lock_check_pairing
+	branch app_put_lpm_wake_lock
+p_module_lpm_lock_check_pairing:
+	beq FLAG_LE_PAIRING_END,app_put_lpm_wake_lock
+	branch p_app_get_lpm_wake_lock
+
+p_app_get_lpm_wake_lock:
+//	jam 0x00,mem_lpm_mode 
+	call p_enable_chgpump
+	call wake_up_m0
+	branch app_get_lpm_wake_lock
+
+
+	
 p_module_bt_conn_process:
 	branch p_module_spp_enter_sniff
 
 p_module_spp_enter_sniff:
-	branch module_spp_enter_sniff+1
+	branch module_spp_enter_sniff+4
 
 p_module_hci_cmd_control:
 	
@@ -278,11 +488,82 @@
 	beq HCI_CMD_24G_GET_NOISE,p_module_hci_cmd_set_noise_rssi
 	beq HCI_CMD_SET_DB_START,p_module_hci_cmd_set_db_start
 	beq HCI_CMD_CANCEL_BT_RECONN,p_module_hci_cmd_cancel_reconn
-
+	beq HCI_TEST_CMD_CLOSE_LPM,p_module_hci_test_cmde_close_lpm
+	beq HCI_CMD_READ_DATA_SET,p_module_hci_cmd_set_read_data
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_TEST_CMD_CLOSE_LPM,p_module_hci_test_cmde_close_lpm
+	beq HCI_CMD_MCU_SET_BT_WAKE_TIMER,p_module_hci_mcu_set_bt_wake_timer
 //	beq HCI_CMD_SET_CRSTAL,
 	
 	branch module_hci_cmd_control + 2
+//byte[0] 0----close lpm  1----open lpm   byte[1] lpm interval = sniff * byte[1]
+p_module_hci_test_cmde_close_lpm:
+//	jam 0,mem_wake_by_m0
+	ifetch 1,contru
+	store 1,mem_lpm_mode
+	rtn
+p_module_hci_cmd_enter_sleep:
+//	call module_hci_event_receive_valid_cmd
+
+	branch app_enter_hibernate
+
+module_hci_cmd_set_wake_gpio:
+
+	ifetch 1,contru
+
+	//lpm
+	fetcht 4,mem_lpm_xtalcnt
+	setflag blank,16,temp 			//pdata:0   set 0x8126   0bit set1       pdata:1   set 0x8126   0bit set0
+	setflag blank,24,temp
+	storet 4,mem_lpm_xtalcnt
+
+	//hibernate
+	fetcht 1,mem_lpm_hibernate_switch
+	setflag blank,0,temp
+	storet 1,mem_lpm_hibernate_switch
+
+	ifetch 6,contru
+	store 6,mem_gpio_wakeup
+	store 6,mem_gpio_wakeup_backup
+	call lpm_write_gpio_wakeup	
+
+	branch module_hci_event_receive_valid_cmd
+
+p_module_hci_mcu_set_bt_wake_timer:
+	ifetch 4,contru
+	store 4,mem_mcu_set_bt_wake_timer
+	branch module_hci_event_receive_valid_cmd
+
+
+
+p_module_hci_cmd_set_read_data:
+	disable user2
+	ifetcht 1,contru
+	call p_le_att_get_handle_ptr
+	nbranch module_hci_event_receive_invalid_cmd,user2
+	copy contr,contw
+	copy rega,contru
+	add contru, 2,contru
+	fetch 1,mem_module_uart_len
+	increase -2,pdata
+	istore 1,contw
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	
+	branch module_hci_event_receive_valid_cmd
+
 
+p_le_att_get_handle_ptr:
+	disable user2
+	call le_att_get_handle_ptr2
+	branch p_le_att_get_handle_ptr_found,zero
+	rtn
+p_le_att_get_handle_ptr_found:
+	enable user2
+	ifetch 1,contr
+	iadd contr,contr	
+	rtn	
+	
 p_module_hci_cmd_add_service_charactisic:
 	call le_att_get_last_handle
 	increase -2,contr
@@ -501,9 +782,6 @@
 	branch module_hci_sspairing_mode
 
 
-p_module_hci_cmd_enter_sleep:
-	call module_hci_event_receive_valid_cmd
-	branch app_enter_hibernate
 
 
 p_module_hci_cmd_send_hid_data:
@@ -571,18 +849,19 @@
  	jam LMP_ACCEPTED,mem_lmo_opcode2  
  	rtn
 
+
 p_parse_lmp_crypt_key:
 	fetcht 1,mem_rxbuf+1
 	sub temp,6,null
 	branch reject_lmp_packet_pdu_not_allowed,positive
 	branch parse_lmp_crypt_key + 1
 	
-reject_lmp_packet_pdu_not_allowed:
+reject_lmp_packet_pdu_not_allowed: 
 	jam PDU_NOT_ALLOWED,mem_lmo_reason2
 	branch reject_lmp_packet
 
 p_parse_lmp_sniff_req:
-	branch lmp_reject_sniff
+//	branch lmp_reject_sniff
 	fetch 2,mem_rxbuf+6
 	branch lmp_reject_sniff,blank
 	//call parse_lmp_sniff_req_check_sniff_para
@@ -598,6 +877,7 @@
 
 p_parse_lmp_not_accepted_aurand:
 	call parse_lmp_not_accepted_aurand
+	set0 mark_always_page,mark
 	fetch 1,mem_conn_sm
 	rtnne CONN_SM_AUTH_WAIT
 	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
Index: rongyuan/sched/109x.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/sched/109x.dat	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/sched/109x.dat	(working copy)
@@ -11,8 +11,8 @@
 
 #mem_lpm_config:0f 84 30
 mem_lpm_config:0f 84 f0
-mem_lpm_xtalcnt:0a 0b b2 32
-mem_lpm_hibernate_switch:8b
+mem_lpm_xtalcnt:0a 0b b0 30
+mem_lpm_hibernate_switch:89
 mem_lpm_doze_switch:0b
 mem_gpio_wakeup:00 00 00 00 00 00 00 00
 
Index: rongyuan/sched/24g_keyboard.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/sched/24g_keyboard.dat	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/sched/24g_keyboard.dat	(working copy)
@@ -7,8 +7,7 @@
 
 
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
-mem_24g_enter_hibernate:00 48 5d 00 00 00 00 00#10 min
-mem_24g_enter_hibernate_max:ff ff ff ff
+
 
 
 
Index: rongyuan/sched/DM_module.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/sched/DM_module.dat	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/sched/DM_module.dat	(working copy)
@@ -14,14 +14,14 @@
 4FF2:FF 1F
 4FF4:00 1C
 4FF6:00 1C
-4FF8:e0 4c
+4FF8:30 4D
 4FFA:E0 4F
-4FFC:E0 4c
-4FFE:e0 4c
-
+4FFC:30 4D
+4FFE:30 4D
+######################################rongyuan tezhi_700uuid+880ble uuid###########################
 ##############BLUETOOTH CONFIG##############
 ###commom###
-mem_soft_version_num:3010
+mem_soft_version_num:3011
 mem_module_state:03
 mem_module_bluetooth_stauts_by_command:07
 
@@ -34,7 +34,7 @@
 mem_lpm_overhead:08
 mem_lpm_mult_timeout:02
 
-mem_sniff_param_interval:0e 00
+mem_sniff_param_interval:10 00
 
 ###ble###
 
Index: rongyuan/sched/ble_keyboard.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/sched/ble_keyboard.dat	(revision 934)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/keyboard/branches/rongyuan/sched/ble_keyboard.dat	(working copy)
@@ -28,19 +28,19 @@
 mem_le_adv_interval:40 00
 
 mem_le_lap:21 22 01 33 02 3a
-mem_le_name_len:
-'BT4.2 Keyboard
+mem_le_name_len:00
+
 
 mem_le_adv_data_len:03
 mem_le_adv_data:
 02 01 05
 03 19 c1 03
 03 03 12 18
-'\09BT4.2 Keyboard
+
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT4.2 Keyboard
+
 
 
 mem_ui_le_uuid_table:mem_module_le_att_list
